2012-06-21 11 views
5

La aplicación de inicio desde la pantalla de inicio no puede obtener la carga útil de inserción remota. Pero el lanzamiento desde el Centro de notificaciones funciona.La aplicación de inicio desde la pantalla de inicio no puede obtener la carga útil de inserción remota. Pero el lanzamiento desde el Centro de notificaciones funciona

Al principio, la aplicación es NO ejecuta. Después de recibir la notificación de inserción remota, el usuario no inicia la aplicación con la notificación de inmediato. A continuación, los grifos de usuario en la notificación en el centro de notificaciones para poner en marcha la aplicación, puedo conseguir la carga útil empujón de launchOptions:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSDictionary* userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
    if(userInfo) { 
     //do some works with push payload. 
    } 
} 

Pero si la aplicación de lanzamiento de usuario pulsando icono de la aplicación de la pantalla de inicio, no se puede obtener la carga útil de empuje desde launchOptions, aunque se llama application:didFinishLaunchingWithOptions:.

Una vez más:

  1. aplicación no se está ejecutando.
  2. El usuario no inicia la aplicación cuando recibe una notificación de inserción.
  3. Más tarde, inicie la aplicación desde el Centro de notificaciones y obtenga la carga útil push de launchOptions.
  4. La aplicación de inicio desde la pantalla de inicio no puede obtener la carga útil push de launchOptions.

¿Esto es un error en SDK? ¿Cómo puedo obtener la carga útil push al iniciar la aplicación desde la pantalla de inicio?

Gracias!

Respuesta

3

No puede.

Solo obtiene la carga cuando se inicia desde el Centro de notificaciones porque significa que el usuario está interesado en esa notificación.

Por ejemplo, si recibo una respuesta en Tweetbot y quiero verla, hago clic en la notificación, pero si solo quiero verificar mis tweets, abro la aplicación normalmente.

Si la carga tiene información que el usuario TIENE que recibir, la aplicación debe contactar a su servidor y recuperarla.

+0

¿Es este también el caso cuando la aplicación está en segundo plano? – AbuZubair

0

Sí, si el usuario inicia la aplicación tocando el icono, se pierde la carga de la notificación remota.

No es genial, pero es la forma en que funciona en este momento.

Cuestiones relacionadas