iOS10的适配

每次出了新系统,必然要踩很多坑,这次来踩一踩iOS10的坑吧。

一、证书问题

  1. 直接选择Automatically manage signing让Xcode帮我们管理证书就好了。
  2. 未设置开发者账号会报错,在偏好设置中添加好就可以了。
  3. 使用真机测试时,必须在官网中添加设备的UDID。

二、Xib文件

  1. 使用Xcode8 打开xib文件是会出现“choose an initial device view”的提示,直接选择蓝色的 choose Device 就可以了。
    2)如果布局混乱,在xib的右下角更新一下,即 Update Frame。

三、代码及API

  1. UIView的代理方法可能会出现报错,删除NSError前面的 nullable就行了。
  2. UIStatusBar的方法过期了,如果项目中设置了statusBar,那就像下面这样写:
- (UIStatusBarStyle)preferredStatusBarStyle { 
    return UIStatusBarStyleDefault;
}
  1. UIColor新增了方法,使颜色更加多样化了。
+ (UIColor *)colorWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha NS_AVAILABLE_IOS(10_0);
- (UIColor *)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha NS_AVAILABLE_IOS(10_0);
  1. UITextField增加了textContentType,一个枚举类,可以设置文本输入区域所期望的语义。

  2. UIScrollView增加了刷新功能 refreshControl,iOS10以后只要继承UIScrollView就支持刷新。

  3. iOS10,系统版本可是两位数了,判断系统版本最好还是直接用这个方法比较靠谱:

[[UIDevice currentDevice] systemVersion]
  1. Xib "awakeFromeNib"使用这个方法会出现警告,按照提示加上[Super awakeFromeNib]就可以了。

四、Xcode8 输出很多没用的东西
关于这个问题,打开Edit Scheme -> run -> Environment Variables
在这个地方添加 key: OS_ACTIVITY_MOOE value:disable 然后把前面的小方框勾选上即可。(如果不行就取消勾选,再选中,重复一下)

五、字体变化
经过测试,中文字体变大了一些,怎么适配呢。。。这个我也只能去找哪里不对然后更改了。(当然,如果你的工程中用到的 leabel 都是添加的上下左右的约束,没有固定它的长宽,当然就没关系了。)

六、隐私权限
iOS10对隐私权限更加严格,在plist文件中添加相应的Key - Value:

麦克风权限: Microphone Usage Description 是否允许此App使用你的麦克风?
相机权限: Camera Usage Description 是否允许此App使用你的相机?
相册权限: Photo Library Usage Description 是否允许此App访问你的媒体资料库?通讯录权限: Privacy - Contacts Usage Description 是否允许此App访问你的通讯录?
蓝牙权限: Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?

语音转文字权限: Speech Recognition Usage Description 是否允许此App使用语音识别?
日历权限: Calendars Usage Description 是否允许此App使用日历?

定位权限: Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
定位权限: Location Always Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据

大概就这些了。

七、ATS的问题
自2017年1月1日起,必须使用HTTPS请求,这只能建议大家都用HTTPS。可以通过NSExceptionDomains 针对特定域名开放。

八、 UICollectionView的优化
增加了Pre-Fetching ,进行预加载。
WWDC2016 Session笔记 - iOS 10 UICollectionView新特性

九、 通知

  1. 增加了UserNotification.framework
  2. 增加了撤销、更新,中途可以修改通知的内容。
  3. 通知中可以加入视频、图片、自定义通知的展示。
  4. 本地与远程集成在一个方法中,很方便。

你可能感兴趣的:(iOS10的适配)