iPhone 5 运行 iOS 8.4 无法从推送通知启动到后台,但其他设备可以吗?
iPhone 5 running iOS 8.4 not launching to background from push notification but other devices do?
我正在为需要能够在 运行在后台运行时接收推送通知的客户端开发一个应用程序。
我将所有恼人的证书和其他安全问题设置为 运行 沙盒 ARN,并从多个测试设备收集了 ARN 令牌:
安iPhone5运行宁iOS8.4.1
安iPhone6运行宁iOS9.1
安iPhone4s运行宁iOS7.0.4
该应用在其 info.plist 中设置了远程通知 UIBackgroundMode,我在我的通知负载中包含了 content-available
键。
我还在启动时调用 UIApplication registerForRemoteNotifications
(或 iOS 7 设备现在已弃用的 registerForRemoteNotificationTypes
方法调用。)
在 iPhone 6 和 4s 上,发送远程通知会在后台启动应用程序,如果它不是 运行ning,如预期的那样。
但是,在 iPhone 5 上,如果不是 运行ning,应用程序不会启动。
如果我指定默认的远程通知声音,它会播放。
如果我使用 {"alert":1}
key/value 对发送远程通知,设备会显示远程通知,并且 tapping/sliding 在通知上确实会启动应用程序。
我试过手动启动该应用程序,以防我强行退出它。 (在其他测试设备上,强制退出应用程序会阻止启动到后台,直到我重新启动设备或再次手动启动应用程序,如 Apple 文档中所述。)
其他测试设备按预期运行的事实,以及 iPhone 5 在请求时播放通知声音并在请求时显示通知横幅的事实告诉我我已经设置好了正确。
问题是,为什么 iPhone 5 不像其他设备那样在后台启动?
检查是否在设置的 iPhone 5 中为此应用(或所有应用)禁用了后台刷新。
要从您的代码中检查这一点:[[UIApplication sharedApplication] backgroundRefreshStatus]
我正在为需要能够在 运行在后台运行时接收推送通知的客户端开发一个应用程序。
我将所有恼人的证书和其他安全问题设置为 运行 沙盒 ARN,并从多个测试设备收集了 ARN 令牌:
安iPhone5运行宁iOS8.4.1 安iPhone6运行宁iOS9.1 安iPhone4s运行宁iOS7.0.4
该应用在其 info.plist 中设置了远程通知 UIBackgroundMode,我在我的通知负载中包含了 content-available
键。
我还在启动时调用 UIApplication registerForRemoteNotifications
(或 iOS 7 设备现在已弃用的 registerForRemoteNotificationTypes
方法调用。)
在 iPhone 6 和 4s 上,发送远程通知会在后台启动应用程序,如果它不是 运行ning,如预期的那样。
但是,在 iPhone 5 上,如果不是 运行ning,应用程序不会启动。
如果我指定默认的远程通知声音,它会播放。
如果我使用 {"alert":1}
key/value 对发送远程通知,设备会显示远程通知,并且 tapping/sliding 在通知上确实会启动应用程序。
我试过手动启动该应用程序,以防我强行退出它。 (在其他测试设备上,强制退出应用程序会阻止启动到后台,直到我重新启动设备或再次手动启动应用程序,如 Apple 文档中所述。)
其他测试设备按预期运行的事实,以及 iPhone 5 在请求时播放通知声音并在请求时显示通知横幅的事实告诉我我已经设置好了正确。
问题是,为什么 iPhone 5 不像其他设备那样在后台启动?
检查是否在设置的 iPhone 5 中为此应用(或所有应用)禁用了后台刷新。
要从您的代码中检查这一点:[[UIApplication sharedApplication] backgroundRefreshStatus]