1

我真的很困惑这个问题,我的问题很简单:什么时候会调用application: didReceiveRemoteNotification: fetchCompletionHandler:iOS 7远程通知后台模式

  1. 如果应用程序正在运行并在前台?我测试和iOS 7的回应是肯定的,并在iOS 6没有如功能评论中所述。

  2. 如果应用程序在后台运行?响应:与1相同。

  3. 如果应用程序在后台但由系统暂停?

  4. 最重要的一点:如果应用程序被杀害(不在“多任务视图”中)?

如何激活/亨德尔通知:

  1. 添加远程基序中的xcode功能部(info.plist中)。
  2. 要求注册:

[UIApplication的sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeNewsstandContentAvailability]

3。实施委托方法。 (内部completionHandler(UIBackgroundFetchResultNewData);添加)

当我发送通知(用内容可用的密钥== 1):

  1. 如果应用程序是在前景/背景和运行被触发的功能和内部的代码(我下载一个图像并将其保存在文档文件夹中)。
  2. 如果应用程序被杀死,图像不会被下载。

第二个问题:你有没有简单的为什么要调试远程通知后台模式?

[edit]测试后,如果应用程序已暂停(我们添加一个循环记录日期)来接收该通知,并试图触发代码,但应用程序之后1个Seconde系列停止,我们有错过参数包住时间? (因为我读了最多30次)。

+0

由于您在该帖子中嵌入了许多其他问题,因此有点难以阅读您的问题。有没有一种方法可以简化这个 – meda

+0

你可以阅读这个http://samwize.com/2015/08/07/how-to-handle-remote-notification-with-background-mode-enabled/ –

回答

1

很抱歉回答我自己的问题, 很简单,只有当应用程序在后台(主动/暂停)时才能处理远程通知。

[编辑]:如果你想有一个推送通知,唤醒应用程序,即使它被杀死看看PushKit,但这只有当你的应用程序中有VOiP功能时才有可能。