我有一个iOS7应用程序注册后台模式远程通知:
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
Run Code Online (Sandbox Code Playgroud)
它在重新启动之前工作正常,应用程序在后台获取此事件:
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Run Code Online (Sandbox Code Playgroud)
但它看起来像重启后我不再得到这个事件,直到我手动启动应用程序.
所以,问题是:我可以让iOS7在我的应用程序收到静态推送通知后重启后运行我的应用程序吗?我的推送通知没有"alert"字段,只有"contentAvailable" - 这可能是一个原因吗?我已经看到像whatsapp这样的应用程序能够在重新启动后立即接收并显示推送通知,因此它看起来至少可以用于"警报"类型的通知.
我知道我可以使用重要的位置监控在重启后的某个时刻重新启动应用程序,但我想避免一直在工具栏上显示位置图标.后台获取模式可以帮助吗?有没有统计数据,重启后应用程序的后台获取模式会有多快?