【发布时间】:2014-08-07 07:00:07
【问题描述】:
我正在开发一个 iOS 应用程序,它会在特定时间间隔接收苹果的远程推送通知。当应用程序处于活动状态以及应用程序处于后台时,成功接收到通知。但是当应用从应用切换器/程序坞中终止时,直到应用重新启动后才会收到通知。
我尝试了以下代码以使应用程序在后台保持活动状态。在applicationWillTerminate: 方法中实现了相同的代码,但它不起作用。
__block UIBackgroundTaskIdentifier bgTask ;
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
[app enabledRemoteNotificationTypes];
bgTask = UIBackgroundTaskInvalid;
}];
在应用终止后接收通知的最佳方式是什么?
【问题讨论】:
-
如果您指定远程通知后台模式,那么 iOS 将在收到远程通知时重新启动您的应用程序除非您的应用程序从切换器中终止,在这种情况下它们假设用户不希望您的应用运行,因此在用户手动启动您的应用之前,您的应用不会重新启动
-
这违反了苹果的设计,我认为你不应该浪费时间和精力。
-
听起来你想要静默通知打开你的应用程序以允许处理developer.apple.com/library/ios/documentation/UIKit/Reference/…:
标签: ios apple-push-notifications background-process uiapplicationdelegate