0
如何在iPhone中设置一个应用程序在后台运行?如何在iphone中设置在后台运行的应用程序?
如何在iPhone中设置一个应用程序在后台运行?如何在iphone中设置在后台运行的应用程序?
参考下面的代码。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication* app = [UIApplication sharedApplication];
//Create a task object
__block UIBackgroundTaskIdentifier backgroundTask;
backgroundTask = [app beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
if (backgroundTask != UIBackgroundTaskInvalid) {
[app endBackgroundTask:backgroundTask];
backgroundTask = UIBackgroundTaskInvalid;
}
});
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
if (backgroundTask != UIBackgroundTaskInvalid) {
// do stuff
[app endBackgroundTask:backgroundTask];
backgroundTask = UIBackgroundTaskInvalid;
}
});
});
}
您可以在您的应用程序指向后台后执行任务,但只限于提供的持续时间。长时间运行会导致您的应用程序被终止。请参阅iOS应用程序编程指南的“Completing a Long-Running Task in the Background”部分了解如何解决此问题。