iOS7,8,9新特性

IOS7:

1.[UIDevice uniqueidentifier] 失效  ,已经获取不到设备的UUID 任何使用到UUID做标记等操作好像发布不了

2.使用麦克风,推送等需要用户允许 更加注重用户意见

[[AVAudioSession sharedInstance]requestRecordPermission:^(BOOL granted){

    if(granted({   //同意     }

}];

3.封装了获取数组方法 [NSArray firstObject]

4.增加了instancetype返回值类型

5.UIImage的渲染模式 增加Tint Color 拟物化与平面化等区别

6.优化了联网状态Reachability更加详细

7.i7定位只需要再info.plist添加自动Privacy-LocationUsage Description请求用户授权描述

    i8定位需要请求用户授权NSLocationAlwaysUsageDescription

iOS 9:

 1.ios9发送网络请求统一使用TLS 1.2SSL加密协议增强数据访问安全 HTTP + SSL/TLS + TCP = HTTPS

    如果以前使用的不加密 可以再info.plist声明指定http

2.后台定位

    

//1.实例化定位管理器
_locationManager = [[CLLocationManager alloc]init];
//2.设置代理
_locationManager.delegate = self;
//3.定位精度
_locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
//4.请求用户权限 分前台后台

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8) {
//[_locationManager requestWhenInUseAuthorization];//?只在前台开启定位
[_locationManager requestAlwaysAuthorization];//?在后台也可定位
}


if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9) {
_locationManager.allowsBackgroundLocationUpdates = YES;
}

// 6. 更新用户位置
[_locationManager startUpdatingLocation];

  

3.URL scheme 
URL scheme一般使用的场景是应用程序有分享或跳其他平台授权的功能,分享或授权后再跳回来。在iOS8并没有做过多限制,在iOS9中,如果使用URL scheme必须在"info.plist"中将你要在外部调用的URL scheme列为白名单,否则不能使用。

要再info.plist中配置LSApplicationQuerisesSchemes 增加白名单

item 0  String mqzone

item 1 String weixin

4.IOS9中 字体 类似word幼圆 但是字体间隙变大了 可以使用sizetofit 或者 向上取整ceilf()提前计算

 

posted @ 2015-12-10 16:11  若云  阅读(252)  评论(0编辑  收藏  举报