bgTask, AppDelegate, - VC . , bgTask .
. , , bgTask. , . , ( ). , bgTask ( ), endBackgroundTask:. bgTask UIBackgroundTaskInvalid, , endBackgroundTask:. , , , , expiration - .
, . ( AppDelegate applicationDidEnterBackground:):
__block UIBackgroundTaskIdentifier bgTask = [application beginBackgroundTaskWithName:@"MyTask" expirationHandler:^{
NSLog(@"Expired");
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
NSLog(@"Backgrounded: %@", @(bgTask));
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(10.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"Done! %@", @(bgTask));
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
});
, bgTask 10 ( dispatch_after).