Мы хотим выйти из нашего приложения после вызова обработчика срока действия.Иногда это работает, но, похоже, бывают случаи, когда он просто сильно убивает процесс, даже если мы завершаем фоновую задачу, вызывая endBackgroundTask.Похоже, что наш процесс выхода из системы в этом случае занимает слишком много времени, а iOS просто убивает его.Это не должно быть долгой задачей, но есть ли способ запросить дополнительное время?
if ([app respondsToSelector:@selector(beginBackgroundTaskWithExpirationHandler:)]) {
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
// Synchronize the cleanup call on the main thread in case
// the task actually finishes at around the same time.
dispatch_async(dispatch_get_main_queue(), ^{
if (bgTask != UIBackgroundTaskInvalid) {
backgroundKilled = true;
[self logoutAll];
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}
});
}];
}