如果可以在应用程序终止后运行服务。请帮我验证以下代码:
UIApplication* app = [UIApplication sharedApplication];
__block UIBackgroundTaskIdentifier bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
答案 0 :(得分:2)
您的应用通常永远不会看到willTerminate,因为系统通常只会在您的应用已暂停后(在后台)终止。一旦您的应用程序被暂停,它就没有机会采取行动(*),因此没有回调。
didEnterBackground委托消息或通知应被视为您在可能终止之前清理或保存状态的最后机会。
(*)好吧,如果你的应用程序处于支持的后台执行模式之一(例如音频,VoIP或导航),你的应用程序可以执行操作,但在这种情况下,它还没有被暂停或者它已被取消暂停具有特定于该背景模式的入口点。