UIBackgroundMode远程通知在iOS 7.1上不起作用

时间:2014-05-30 21:20:06

标签: ios cocoa-touch push-notification ios7.1

我在iOS 7.1上遇到远程通知后台模式的问题。我在雷达(http://openradar.appspot.com/radar?id=5279828798341120)上提交了一个错误,为方便起见,我在下面复制了这个错误。

是否有其他人遇到此问题?关于Apple的任何消息都结束了?


摘要

使用 content-available 标签发送推送通知应该在后台唤醒应用程序并调用 application:didReceiveRemoteNotification:fetchCompletionHandler 。它适用于iOS 7.0.6,但不适用于iOS 7.1.1。

重现步骤

  1. 创建一个空的iOS应用程序项目。启动它应显示纯白色视图。
  2. 在应用启动时询问推送权限,并在控制台中打印推送令牌。
  3. 在目标设置(功能 - >后台模式)中启用远程通知
  4. 在AppDelegate中,实现 application:didReceiveRemoteNotification:fetchCompletionHandler 。将窗口的背景颜色更改为红色和NSLog("应用程序确实接收了远程通知")。
  5. 从Xcode(产品 - >运行)运行应用程序。
  6. 从Xcode(产品 - >停止)关闭应用程序。
  7. 双击主页按钮:应用程序的多任务屏幕截图显示纯白色视图。
  8. 使用nomad-cli(http://nomad-cli.com/)等程序,使用" content-available"向您的设备发送推送通知。 tag(选项-n with nomad-cli):推送通知应显示在主屏幕上。
  9. 双击主页按钮,检查多任务屏幕截图的颜色。
  10. 预期结果

    如果应用程序是在后台启动的,并且应用程序:didReceiveRemoteNotification:fetchCompletionHandler 被调用,则多任务屏幕截图应为红色。此外,Xcode Organizer中的控制台日志应显示应用程序确实收到远程通知

    实际结果

    在iOS 7.0.6上,多任务屏幕截图确实是红色的。此外,控制台登录Xcode Organizer会显示以下日志:

    May 30 16:50:14 iPad kernel[0] <Debug>: launchd[266] Container: /private/var/mobile/Applications/47E7DA84-E83A-4B43-B550-7D203921BD49 (sandbox)
    May 30 16:50:14 iPad Test[266] <Warning>: Application did receive remote notification
    

    在iOS 7.1.1上,多任务屏幕截图保持白屏,控制台登录Xcode管理器时不显示任何内容。

    iPhone 5:iOS 7.1.1 [11D201]。 iPad 2:iOS 7.0.6 [11B651]。

    配置

    iPhone 5 32GB AT&amp; T,使用WiFi。 iPad 2 16GB,使用WiFi。

1 个答案:

答案 0 :(得分:0)

这是一个虚假警报。我用于测试的其中一个设备在设置中禁用了后台提取(设置 - &gt;常规 - &gt;后台应用刷新)。我关闭了这个问题。