应用程序:didReceiveRemoteNotification:fetchCompletionHandler:未调用iOS 9 [重复]
Posted
技术标签:
【中文标题】应用程序:didReceiveRemoteNotification:fetchCompletionHandler:未调用iOS 9 [重复]【英文标题】:application:didReceiveRemoteNotification:fetchCompletionHandler: NOT Called iOS 9 [duplicate] 【发布时间】:2016-08-10 09:43:24 【问题描述】:我想在应用程序中保存一些推送通知数据。但是如果用户通过在多任务查看器上向上滑动应用程序来终止应用程序(暂停或未运行状态),我无法保存数据。我使用了 application:didReceiveRemoteNotification:fetchCompletionHandler :处理它。但我仍然无法保存推送通知数据
我已经设置了这样的应用设置
和有效载荷,
"aps" :
"alert" = "Notification with custom payload",
,
"content-available" = 1
而 application:didReceiveRemoteNotification:fetchCompletionHandler: 看起来像这样
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
if(application.applicationState == UIApplicationStateInactive)
NSLog(@"Inactive");
//Show the view with the content of the push
completionHandler(UIBackgroundFetchResultNewData);
else if (application.applicationState == UIApplicationStateBackground)
NSLog(@"Background");
NSString *info = [[userInfo valueForKey:@"aps"]valueForKey:@"alert"];
completionHandler(UIBackgroundFetchResultNewData);
else
NSLog(@"Active");
//Show an in-app banner
completionHandler(UIBackgroundFetchResultNewData);
【问题讨论】:
@Ewan Mellor ,@Anbu.Karthik .Ok .告诉我,当应用程序处于挂起状态时,有什么方法可以保存推送通知数据? 【参考方案1】:这是完全正常的。如果您检查设备的控制台日志,您将看到来自系统的消息,指出它不会唤醒应用程序,因为它已被用户终止。
【讨论】:
问题不叫application:didReceiveRemoteNotification:fetchCompletionHandler 当应用程序处于挂起或未运行状态。收到通知时应用程序不想打开 Apple 文档很清楚。您正在看到设计和预期的行为。如果你想知道你还能做什么,你必须问另一个问题。警告:这个问题也已经被提出并回答了。 而不是知道一切你可以发布链接到那个问题@Avi 追踪此类信息不是我的工作。如果 OP 想要它,他知道如何找到它。如果不出意外,发布问题将获得答案或他复制的问题的链接。我回答了这里发布的问题,这就足够了。以上是关于应用程序:didReceiveRemoteNotification:fetchCompletionHandler:未调用iOS 9 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Qt程序,“由于应用程序配置不正确,应用程序未能启动 重新安装应用程序可能会纠正这个问题”,高手请指点
将 iPhone 应用程序转换为通用应用程序时应用程序图标不显示