码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 开发——版本适配OC篇&项目开发之系统适配问题(关于后台)

时间:2015-09-25 07:12:55      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

项目开发之系统适配问题

关于后台

 

 

在之前iOS 开发中,我们精彩遇到关于app适配问题,有屏幕适配,系统适配,但是由于苹果新设备(iphone 6/6p)技新术(sizeClass)的推出在屏幕适配上变的非常简单,而且之前关于app在系统适配上还是比较多的,可能是由于ios7的大改革,后面字啊iOS7盒iOS8上面的api并没有太大的差别,所以关于系统适配,我们并没有考虑太多。

但是,作为一个合格的开发者,不管是实际项目开发中,还是平时我们都要注意系统的视频,毕竟ios9又出来了,虽然常用api变化不是很大。

所以这里就关于iOS7/iOS8/iOS9在使用后台的时候整理了一段系统适配的代码。

 1          // 判斷是否 iOS 8
 2 
 3             if(isiOS(8.0)) {
 4 
 5                 // 获取info.plist文件信息
 6 
 7                 NSDictionary *dic = [[NSBundle mainBundle] infoDictionary];
 8 
 9                 [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
10 
11 //                    NSLog(@"%@---%@", key, obj);
12 
13                 }];
14 
15                 // 获取前后台定位描述
16 
17                 NSString *alwaysStr = [dic valueForKey:@"NSLocationAlwaysUsageDescription"];
18 
19                 // 获取前台定位描述
20 
21                 NSString *whenInUseStr = [dic valueForKey:@"NSLocationWhenInUseUsageDescription"];
22 
23 
24 
25                 if ([alwaysStr length] > 0)
26 
27                 {
28 
29                     [_locationM requestAlwaysAuthorization]; // 永久授权
30 
31                 }
32 
33                 else if([whenInUseStr length] > 0)
34 
35                 {
36 
37                     [_locationM requestWhenInUseAuthorization]; //使用中授权
38 
39                 }else
40 
41                 {
42 
43                     NSLog(@"在iOS8.0之后定位,请在info.plist文件中配置NSLocationAlwaysUsageDescription 或者 NSLocationWhenInUseUsageDescription ");
44 
45                 }
46 
47                 // 判断iOS9.0 兼容iOS9.0前台授权模式下的后台获取位置(会出现蓝条)
48 
49                 if (isiOS(9.0)) {
50 
51                     // 获取后台模式数组
52 
53                     NSArray *backModes = [dic valueForKey:@"UIBackgroundModes"];
54 
55                     // 判断后台模式中是否包含位置更新服务
56 
57                     if ([backModes containsObject:@"location"])
58 
59                     {
60 
61                         _locationM.allowsBackgroundLocationUpdates = YES;
62 
63                     }
64 
65                 }
66 
67 
68 
69             }

最后希望各位读者在平时开发中多多注意细节,这样你的app才能更加完美!

 

 

iOS 开发——版本适配OC篇&项目开发之系统适配问题(关于后台)

标签:

原文地址:http://www.cnblogs.com/iCocos/p/4837002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!