Будет ли iOS запускать мое приложение в фоновом режиме, если оно было принудительно завершено пользователем?
Я запускаю фоновую загрузку, используяcontent-available
флаг на push-уведомлении. у меня есть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);
}
Когда приложение работает в фоновом режиме, оно работает нормально. (Уведомление получено, и приложение вызвалопохоже я получил уведомление локальное уведомление, как и приведенный выше код).
Тем не мение,когда приложение не запущено и push-уведомление получено сcontent-available
флаг,приложение не запущено иdidRecieveRemoteNotification
Метод делегата никогда не вызывается.
Видео WWDCЧто нового с многозадачностью (# 204 от WWDC 2013) показывает это:
Это говорит о том, что приложение "запущен в фоновом режиме когда push-уведомление получено сcontent-available
флаг.
Почему мое приложение не запускается в фоновом режиме?
Итак, настоящий вопрос:
Будет ли iOS выполнять фоновые задачи после принудительного выхода из приложения?