ios实现程序切入后台,实现后台任务 (转自)

 1 1,项目需求,是程序home键切入后台,3分钟后退出登陆,
 2 
 3   首先,iOS 会再持续切入后台,给我们5秒钟的时间去处理相关数据,5秒后,程序不会再执行任何代码,处于挂起状态。
 4 
 5    
 6 
 7  
 8 
 9 - (void)applicationDidEnterBackground:(UIApplication *)application {
10 
11  //切入后台 ,申请后台任务时间,
12 
13     UIApplication *app = [UIApplication sharedApplication];
14 
15     UIBackgroundTaskIdentifier taskID;//一个后台任务标识符
16 
17     taskID = [app beginBackgroundTaskWithExpirationHandler:^{ //如果系统觉得我们运行时间太长,将执行这个程序块,并停止运行应用程序
18 
19        
20 
21         [app endBackgroundTask:taskID];
22 
23     }];
24 
25     
26 
27     if (taskID == UIBackgroundTaskInvalid) {//UIBackgroundTaskInvalid表示系统没有为我们提供额外的时间
28 
29        
30 
31         return;
32 
33     }
34 
35  
36 
37     [self performSelector:@selector(exitApp) withObject:nil afterDelay:180.0];//退入后台 延时3分钟,退出登陆
38 
39   
40 
41 }
42 
43 - (void)applicationWillEnterForeground:(UIApplication *)application {
44 
45  
46 
47     [[UIApplication sharedApplication] endBackgroundTask:taskID];//切回前台,结束后台任务
48 
49     [NSObject   cancelPreviousPerformRequestsWithTarget:selfselector:@selector(exitApp) object:nil];//取消之前将要退出的方法
50 
51  
52 
53 }
54 
55  

转自;http://blog.sina.com.cn/s/blog_7f422a89010190jk.html

原文地址:https://www.cnblogs.com/Wild-orangutans/p/4469234.html