正常情况下程序退出后,会在几秒之后停止工作,若想让app进入后台保持活动状态可以设置beginBackgroundTaskWithExpirationHandler
// AppDelegate.h 文件
@property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundUpdateTask;
// AppDelegate.m 文件
- (void)applicationDidEnterBackground:(UIApplication *)application {
[self beingBackgroundUpdateTask];
// 在这里处理操作。完成后手动调用 endBackgroundUpdateTask
[self endBackgroundUpdateTask];
}
- (void)beingBackgroundUpdateTask {
self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[self endBackgroundUpdateTask];//如果在规定时间内任务没有完成,会调用这个方法。
}];
}
- (void)endBackgroundUpdateTask {
[[UIApplication sharedApplication] endBackgroundTask: self.backgroundUpdateTask];
self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}