didReceiveRemoteNotification pas appelé, iOS 10
Dans iOS 9.3, le didReceiveRemoteNotification
méthode est appelée sur les deux occasions suivantes.
1) Lorsque la notification est reçue
2) Lorsque l'utilisateur lance l'application en appuyant sur la notification.
Mais sur iOS 10, je remarque que le didReceiveRemoteNotification
méthode ne PAS se déclenche lorsque l'utilisateur lance l'application en appuyant sur la notification. Il est appelé que lorsque la notification est reçue. Par conséquent, je ne peux pas le faire toute suite après l'application est lancée à partir de la notification.
Ce qui devrait être le correctif pour cela? Une idée?
- Travailler avec ObjC ou Swift
- ObjC
- Cela pourrait aider alors stackoverflow.com/questions/31450403/...
Vous devez vous connecter pour publier un commentaire.
type converson
pour Swift3
-
pour des exemples voir cette
pour plus d'Informations vous pouvez le voir dans Pomme d'API Référence
objective C
AppDelegate.h a ces lignes:
Étape 1
Étape 2
AppDelegate.m
Étape 3
ou de l'utilisation
UIBackgroundFetchResultNewData
va faire? Je n'ai pas de fetch en arrière-plan...if( [UIApplication sharedApplication].applicationState == UIApplicationStateForeground ) { NSLog( @"foreground" ); [self handleFinalPush:userInfo]; completionHandler( UIBackgroundFetchResultNewData ); }
What I want is if I click on it, it will do the action of push click
J'ai eu le même problème. La Notification de la bannière est apparue, mais
-application:didReceiveRemoteNotification:fetchCompletionHandler:
méthode n'a pas été appelé. La solution pour moi qui a travaillé était pour ajouter de mise en œuvre de- application:didReceiveRemoteNotification:
méthode et avant l'appel à-application:didReceiveRemoteNotification:fetchCompletionHandler:
:Source.
C'est un iOS bug. Il sera fixé dans iOS 10.1. Mais il suffit d'attendre 10.1 en octobre au lieu de la mise en œuvre d'une nouvelle bibliothèque et le supprimer plus tard.
https://forums.developer.apple.com/thread/54322
Code Swift:
Version de travail iOS 11, Swift 4, Xcode 9. Il suffit de copier coller le code ci-dessous dans AppDelegate.
BTW, ce problème semble être résolu dans iOS 10.1. J'ai testé mon application sur 10.1, tous les beaux travaux
Swift 4 et IOS 12.
Alors qu'il peut y avoir plusieurs raisons (Déjà évoqué sur d'autres réponses) pourquoi cette question pourrait se produire, dans mon cas personnel, la solution a été liée à la charge utile lors de l'envoi de la notification push:
Vous devez définir le "content_available" clé sur le json charge utile de 1.
e.g:
{"aps":{"alert":"Test","content_available":1, "badge":1,"son":"default"}}
swift 4, si vous utilisez ios 11 ou xcode version supérieure 9.0 alors vous devez utiliser UNUserNotification délégué méthode à appeler le didReceiveRemoteNotification