1.在appDelegate.h中声明后台任务标识符
@property (nonatomic,unsafe_unretained)UIBackgroundTaskIdentifier backgroundTaskIdentifier;
2.在,程序进入后台的方法当中添加如下代码,并在程序再次进入后台时,取消后台任务
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"程序进入后台了");
UIApplication* app = [UIApplicationsharedApplication];
self.backgroundTaskIdentifier = [appbeginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:self.backgroundTaskIdentifier];
self.backgroundTaskIdentifier =UIBackgroundTaskInvalid;
}];
//后台需要执行的任务 180s
//[self doInBackgroundTask];
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
[application endBackgroundTask:self.backgroundTaskIdentifier];
self.backgroundTaskIdentifier =UIBackgroundTaskInvalid;
}
本文介绍如何在iOS应用中实现后台任务的管理,包括在appDelegate中声明后台任务标识符,并在程序进入后台及再次进入前台时正确处理后台任务。
4938

被折叠的 条评论
为什么被折叠?



