Tengo algo bastante simple que quiero hacer. Adjunto una pieza personalizada de los datos de algunas notificaciones push que manejo enCómo responder a la notificación de inserción ver si la aplicación ya se está ejecutando en segundo plano
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
busco la UIApplicationLaunchOptionsRemoteNotificationKey y ¡listo ahí está.
Este método solo recibe una llamada si mi aplicación se inicia por primera vez. ¿Cómo leo la misma clave si mi aplicación se está ejecutando en segundo plano cuando la notificación entra y el usuario presiona el botón "Ver" en la notificación? Quiero enviarlos a un controlador de vista particular con los datos abiertos en él, lo mismo que hago si la aplicación se lanza por primera vez desde la notificación.
en realidad no es exacto decir el método 'application: didReceiveRemoteNotification' se llama si la aplicación se ejecuta en segundo plano. Más exactamente: si la aplicación está en segundo plano, el método se llama solo después de que el usuario se comprometa con la notificación de inserción para ponerlo en primer plano. Si el usuario cancela/descarta la notificación de inserción, no se llamará al método delegado. –
Cuando se llama a didRecieveRemoteNotification cuando el dispositivo recibe una notificación (desbloqueado), y cuando el usuario hace clic en la vista de notificación, resulta difícil (si yo lo sé) averiguar si el usuario realmente hizo clic en la notificación o la aplicación acaba de recibirla. Y verificar el estado de la aplicación no le dice nada, excepto su estado, no si el usuario hizo clic en la notificación (en mi experiencia). – Hrafn
@ MartijnThé Buen punto. He aclarado la respuesta. – gerry3