2012-08-23 12 views
7

Sto diventando pazzo con il problema degli apns.didReceiveRemoteNotification non chiamato

Sto testando apns push notification. Potrei ricevere messaggi push bene.

Ma ora qualcosa è un grosso problema. Mi piacerebbe raccontare la mia circostanza come di seguito.

  • Quando la mia app è in esecuzione, didReceiveRemoteNotification viene chiamata correttamente.

  • Quando il mio app entrare sfondo, ed ha ottenuto un messaggio push, e poi se tocco la mia app,

    1. didFinishLaunchingWithOptions NON chiamato.

    2. didReceiveRemoteNotification NON chiamato.

    3. SOLO applicationDidBecomeActive è chiamato.

Così, come potrei visualizzazione arrivato messaggio push in circostanza come questa?

Impossibile accedere all'oggetto (NSDictionary *)userInfo nel metodo applicationDidBecomeActive.

Non ho trovato alcuna API per accedere a userInfo.

Non ha senso che non riesco ad accedere ai messaggi push arrivati ​​quando diventano in primo piano dallo sfondo.

Quindi devo recuperare nuovamente il messaggio dal mio server? Se dovessi fare così, perché esiste l'architettura dei messaggi push? È irragionevole.

risposta

8

L'apertura dell'app toccando l'icona non fornirà mai informazioni sulle notifiche precedenti. È solo se in effetti apri l'app tramite una notifica che sarai in grado di accedere ai dati di notifica.

Se si tocca l'icona, in che modo l'app dovrebbe sapere a quale notifica si sta rispondendo, se sono presenti più notifiche recenti? In che modo l'app sa che l'utente sta rispondendo a una notifica e non solo aprendo l'app per un altro motivo? Le notifiche non sono progettate per fare ciò che vuoi.

Vedere iOS Push Notification - How to get the notification data when you click on the app icon instead of notification per ulteriori discussioni.

+0

Grazie mille per averlo chiarito! Ci sono molte, molte spiegazioni sulle notifiche remote, su Stack Overflow e altrove, che tralasciano queste informazioni. Anche Apple non ne parla esplicitamente. – Timo

+0

Grazie per questo .. Anche io stavo diventando pazzo – sheetal