如果我的应用程序被用户强制退出,iOS会在后台启动它吗?
我使用content-available在推送通知上标记。我有fetch和remote-notification UIBackgroundModes启用。
下面是我在AppDelegate.m中使用的实现:- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)
(UIBackgroundFetchResult))completionHandler{
NSLog(@"Remote Notification Recieved");
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.alertBody = @"Looks like i got a notification - fetch thingy";
[application presentLocalNotificationNow:notification];
completionHandler(UIBackgroundFetchResultNewData);}
当应用程序在后台运行时,它运行得很好。(收到通知后,应用程序就会触发本地通知,就像上面的代码应该做的那样)。
然而,当应用程序没有运行时并收到推送通知。content-available旗子,应用程序未启动而didRecieveRemoteNotification从来不调用委托方法。
WWDC视频多任务处理有什么新鲜事?(第204号来自WWDC 2013)显示如下:
它表示,当收到推送通知时,应用程序将被“启动到后台”。content-available旗子。
为什么我的应用程序没有启动到后台呢?
所以真正的问题是:
iOS会在用户强制退出应用程序后执行后台任务吗?