8
votes

Crash lors de la gestion de la notification à distance lorsque l'application ne fonctionne pas

Je reçois une notification à distance et en fonction du type de notification, modifiez les contrôleurs d'affichage du contrôleur de navigation.

Tout fonctionne bien lorsque l'application est au premier plan ou lorsque l'application est en arrière-plan mais non complètement fermée (à partir de la barre multi-tâches).

Mais, lorsque l'application est fermée et reçoit une notification à distance, il se bloque dès qu'il s'ouvre. Est-ce que je fais mal avec la façon dont je confie les visiteurs?

Voici un code. xxx


0 commentaires

3 Réponses :


2
votes

Vous n'initialisez pas correctement votre application lors de la réception d'une notification. Modifier l'application: DidfinishLaunchingwithOptions: Méthode à ceci:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions {
   // Push required screens into navigation controller

   NSDictionary *notif= [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];

   [window addSubview:navigationController.view];
   [window makeKeyAndVisible];

   //Accept push notification when app is not open
   if (notif) {      
       [self handleRemoteNotification:application userInfo:notif];
   }

   return YES;
}


2 commentaires

Merci pour votre réponse VAKIO. Le problème quelque chose d'autre cependant. S'il vous plaît voir comment je l'ai résolu.


Oui, je pensais que c'était bizarre, mais je n'ai pas rattrapé dessus. Désolé.



15
votes

J'ai pris cela résolu et cela n'a rien à voir avec les contrôleurs d'affichage, comme je le pensais.

Le problème était dans les lignes suivantes. J'envoie à Remotenotif.userinfo plutôt que Remotenotif lui-même. En outre, Remotenotif n'est évidemment pas de type uilocalnotification. C'est un objet Nsdictionnel.

avant xxx

devrait être < Pré> xxx


0 commentaires

7
votes

Si vous fermez l'application qui commence à partir du mode de débogage Xcode et lorsque l'application commence par la notification push (application fermée) si le téléphone connecté à Mac (toujours votre téléphone en mode de débogage avec Xcode), il s'agira. Testez ce sénario avec un téléphone débranché.


2 commentaires

Cela a résolu mon problème pour l'instant, mais pourquoi ?! N'a aucun sens pour moi


Comme tu l'as dit, aucun sens pour moi aussi. Mais je pense qu'une connexion ici avec l'appareil et le Mac.