La notification à distance reçue alors que l'application est en arrière-plan ne touche pas la méthode "didReceiveRemoteNotification – fetchCompletionHandler" si l'application est désactivée?

Nous avons implémenté la méthode suivante pour recevoir des notifications à distance et activer la fonction "Extraction d'arrière-plan et notification à distance en fonction des capacités d'un projet". La méthode frappe même si l'application est en premier plan ou en arrière-plan. Mais "Si l'application est supprimée, la notification reçue en arrière-plan, la méthode suivante n'est pas appelée". Comment régler ceci?

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { // Some storage code } 

Advance Merci pour toute aide!

Tuer l'application désactive indirectement les notifications push.

En effet, si l'user tue l'application, le operating system ne le relance pas à less que l'user n'appuie sur l'icône de l'application sur l'écran d'accueil.

C'est malheureux, car la plupart des users ne savent pas que tuer des applications (ce qui est amusant!) A ces effets collatéraux ennuyeux.

Ceci est tiré du "Guide de programmation d'applications pour iOS" d'Apple:

Dans la plupart des cas, le système ne relance pas les applications après qu'elles ont été forcées de quitter par l'user. Une exception concerne les applications de localization qui, dans iOS 8 et versions ultérieures, sont relancées après avoir été forcées de quitter par l'user. Dans d'autres cas, cependant, l'user doit lancer l'application explicitement ou redémarrer l'appareil avant que l'application puisse être lancée automatiquement en arrière-plan par le système.

Quand une application est tuée La notification push ne sera pas prise en charge. Parce que votre application n'est plus en cours d'exécution. Donc, il n'y a aucun moyen de vous recevoir la notification push.

Si l'application n'est pas active, cette méthode ne sera pas appelée. Au lieu de cela, si l'user lance l'application à partir de la notification, l'application aura une charge dans didFinishLaunchingWithOptions, ici vous pouvez gérer la notification.

Si l'application n'est pas ouverte à partir de la notification, vous ne l'obtiendrez pas.

Qu'est-ce que vous essayez exactement? Vous pouvez requestr à l'application de requestr l'heure d'arrière-plan et d'exécuter du code si nécessaire.