Maison > Questions et réponses > le corps du texte
我的app在后台运行时,收到远程推送,通知栏已经有提醒了,这时候如果我点击app 的icon 运行程序,didReceiveRemoteNotification方法并不执行。请问这个怎么解决?
如果我是点击通知栏上的推送,didReceiveRemoteNotification是执行的。
高洛峰2017-04-17 17:41:56
Essayez cette configuration de projet
Capacités BackgroundModes -> ON, sélectionnez RemoteNotification
黄舟2017-04-17 17:41:56
Il s'agit d'une situation normale. Cette fonction se déclenche initialement après avoir cliqué sur la notification
伊谢尔伦2017-04-17 17:41:56
Si votre application est démarrée, cliquez sur l'icône de l'application pour démarrer, elle sera dans
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions NS_AVAILABLE_IOS(3_0);
La valeur clé dans est la suivante
NSDictionary *pushInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
Vous pouvez obtenir le contenu de la notification.
Si l'application est en arrière-plan, cliquer sur l'icône de l'application n'appellera pas d'autres méthodes proxy pour les notifications, sauf si vous cliquez sur la bannière. Il n'y a rien de déraisonnable à cela également. gérez-le de cette façon. ,
L'application sera au premier plan et prendra la méthode que vous avez mentionnée après avoir reçu le push. De plus, si vous la mettez en œuvre
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
Ensuite, il sera appelé dans cette méthode, et la méthode que vous avez mentionnée sera invalidée.