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