我正在使用推送通知,当应用程序打开时/或在后台进程中然后我接收推送通知没问题,当我退出我的应用程序时出现问题,它不会调用我的委托。为什么呢?
答案 0 :(得分:8)
当从推送通知启动应用程序时,代码路径略有不同。您的应用委托代替获取-application:didReceiveRemoteNotification:
消息,而是将一些额外信息传递到其-application:didFinishLaunchingWithOptions:
。您可以从选项中获取通知字典,然后将其移交给常规的推送通知处理程序,如下所示:
- (void)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)options
{
NSDictionary *pushDict = [options objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if(pushDict)
{
[self application:app didReceiveRemoteNotification:pushDict];
}
// etc.
}