2012-08-23 20 views
7

Me estoy volviendo loco con el problema de apns.didReceiveRemoteNotification no se llama

Estoy probando apns push notification. Pude recibir mensajes push bien.

Pero ahora algo es un gran problema. Me gustaría contar mi circunstancia como a continuación.

  • Cuando mi aplicación se está ejecutando, didReceiveRemoteNotification se llama así.

  • Cuando mi aplicación entrar en el fondo, y consiguió un mensaje de inserción, y luego si toco mi aplicación,

    1. didFinishLaunchingWithOptions NO se realizan.

    2. didReceiveRemoteNotification NO se ha llamado.

    3. SOLO se llama applicationDidBecomeActive.

Así que, ¿cómo podría mostrar llegado mensaje de inserción en circunstancias como esta?

No pude acceder al objeto (NSDictionary *)userInfo en el método applicationDidBecomeActive.

No pude encontrar ninguna API para acceder a userInfo.

No tiene sentido que no pueda acceder a los mensajes push enviados cuando se convierte en primer plano desde el fondo.

¿Debo recuperar el mensaje de mi servidor? Si debería hacer esto, ¿por qué existe la arquitectura de mensajes push? No es razonable.

Respuesta

8

Al abrir la aplicación tocando el icono, nunca se le dará información sobre las notificaciones anteriores. Solo si realmente abre la aplicación mediante una notificación, podrá acceder a los datos de notificación.

Si toca el ícono, ¿cómo sabría la aplicación a qué notificación está respondiendo si hubiera varias notificaciones recientes? ¿Cómo sabría la aplicación que el usuario está respondiendo a una notificación y no solo está abriendo la aplicación por otro motivo? Las notificaciones no están diseñadas para hacer lo que desea.

Consulte iOS Push Notification - How to get the notification data when you click on the app icon instead of notification para obtener más información.

+0

¡Muchas gracias por aclarar esto! Hay muchas, muchas explicaciones sobre notificaciones remotas, sobre desbordamiento de pila y en otros lugares, que omiten esta información. Incluso Apple no lo menciona explícitamente. – Timo

+0

Gracias por esto .. También me estaba volviendo loco – sheetal