notification notificaciones mostrar mensaje example enviar iphone ios5 notifications uilocalnotification localnotification

iphone - mostrar - notificaciones push ionic 4



iOS UILocalNotification: no se activan métodos de delegado cuando la aplicación se ejecuta en segundo plano y se hace clic en el icono en la notificación (1)

Versión de iPhone - 5.1 (9B176)

A continuación se muestra la serie de eventos durante la Notificación local en los que no se invoca el método didFinishLaunchingWithOptions .

  1. La aplicación se está ejecutando en segundo plano.
  2. Obtención de notificación local - notificación simple sin diálogo.
  3. Haga clic en el icono de la aplicación que muestra el número de placa.

Esperado según la documentación de Apple :

Como resultado de la notificación presentada, el usuario pulsa el botón de acción de la alerta o toca (o hace clic) el icono de la aplicación. Si se pulsa el botón de acción (en un dispositivo que ejecuta iOS), el sistema inicia la aplicación y llama al método didFinishLaunchingWithOptions su delegado (si está implementado); pasa la carga útil de notificación (para notificaciones remotas) o el objeto de notificación local (para notificaciones locales).

Si el icono de la aplicación se toca en un dispositivo que ejecuta iOS, la aplicación llama al mismo método, pero no proporciona información sobre la notificación

Real: didFinishLaunchingWithOptions NO invocado . Pero se invocó applicationWillEnterForeground y applicationDidBecomeActive .


Estás en lo correcto. El comportamiento es inconsistente con la documentación. Poner la documentación a un lado y centrarse en el comportamiento real; El punto crucial del asunto parece ser este: si su aplicación se activa cuando el usuario interactúa con la notificación, recibirá un puntero a la notificación, si el usuario toca el ícono de la aplicación directamente, no lo hará.

Para ilustrar. Si presenta una notificación de estilo de alerta y el usuario pulsa el botón de acción, o si, como en su caso, presenta una notificación de pancarta y el usuario pulsa, recibirá un puntero a la notificación de una de las dos maneras siguientes:

Si su aplicación estaba en el estado de no ejecución:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ UILocalNotification *launchNote = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; if (launchNote){ // I recieved a notification while not running } }

Si su aplicación se está ejecutando en cualquier estado:

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{ // I recieved a notification }

En el caso de que un usuario elija cancelar una notificación de estilo de alerta, esa notificación desaparecerá.

Lo realmente molesto e inconsistente es que si presenta una notificación de pancarta y el usuario toca su icono, parece que no tiene forma de recuperar una referencia a las notificaciones presentadas en el centro de notificaciones. es decir, no aparecen en la [[UIApplication sharedApplication] scheduledLocalNotifications] , presumiblemente porque ya no están programadas, pero ahora están presentadas.

Así que en breve; La documentación es incorrecta. Y hay otras inconsistencias molestas. Si este comportamiento es un problema para usted, debe presentar un error a Apple.