防止線程在后臺被掛起
在系統(tǒng)方法 - (void)applicationDidEnterBackground:(UIApplication *)application ?中調(diào)用以下方法
UIApplication*? app = [UIApplication sharedApplication];
? ? __block? ? UIBackgroundTaskIdentifier bgTask;
? ? bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{
? ? ? ? ? ? if (bgTask != UIBackgroundTaskInvalid)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? bgTask = UIBackgroundTaskInvalid;
? ? ? ? ? ? }
? ? ? ? });
? ? }];
? ? dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{
? ? ? ? ? ? if (bgTask != UIBackgroundTaskInvalid)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? bgTask = UIBackgroundTaskInvalid;
? ? ? ? ? ? }
? ? ? ? });
? ? });