我真的很担心这个问题,我的问题很简单:当 application: didReceiveRemoteNotification: fetchCompletionHandler:
被调用时?
-
如果应用程序正在运行并且在前台?我测试并且iOS 7的响应是肯定的,而功能评论中描述的iOS 6的响应是否定的 .
-
如果应用程序在后台运行?回复:与1相同 .
-
如果应用程序在后台但被系统暂停?
-
最重要的一点:如果应用程序被杀死(不在“多任务视图”中)?
我如何激活/ handel通知:
-
在xcode功能部分添加远程主题(在info.plist中) .
-
要求注册:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeNewsstandContentAvailability]
3 . 实现委托方法 . (在里面添加 completionHandler(UIBackgroundFetchResultNewData);
)
当我发送通知时(内容可用密钥== 1):
-
如果应用程序处于前台/后台并且运行该功能被触发并且执行内部代码(我下载图像并将其保存在文档文件夹中) .
-
如果应用程序被杀死,则不会下载图像 .
第二个问题:为什么要调试远程通知后台模式有什么好处?
[edit]
经过测试,如果应用程序被暂停(我们在日志日期添加一个循环)它会收到通知并尝试触发代码,但是应用程序在1次借调后停止,我们是否错过了参数来封装持续时间? (因为我读到的最大值是30秒) .
1 回答
很抱歉回答我自己的问题,简单来说,远程通知仅在应用程序处于后台(活动/暂停)时处理 .
[编辑]:如果您想要一个唤醒应用程序,即使它被杀死,也可以看看PushKit,但这只有在您的应用程序中有VOiP功能时才有可能 .