首页 文章

iOS 7远程通知后台模式

提问于
浏览
1

我真的很担心这个问题,我的问题很简单:当 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 回答

  • 1

    很抱歉回答我自己的问题,简单来说,远程通知仅在应用程序处于后台(活动/暂停)时处理 .

    [编辑]:如果您想要一个唤醒应用程序,即使它被杀死,也可以看看PushKit,但这只有在您的应用程序中有VOiP功能时才有可能 .

相关问题