iOS10 适配问题-Xcode8

前段时间升级了Xcode8,总体来讲对OC的影响不大,可是仍是跳一个坑,消耗了很多时间。这里总结下遇到的适配问题。xcode

一、权限问题app

  Xcode8 访问相机、相册等须要权限的地方崩溃ide

  解决办法:ui

  在使用私有权限时,添加Info.plist文件中添加配置:url

下面是各类key,须要哪一个添哪一个spa

  NSBluetoothPeripheralUsageDescription命令行

  NSCalendarsUsageDescriptioncode

  NSCameraUsageDescriptionblog

  NSContactsUsageDescriptionip

  NSHealthShareUsageDescription

  NSHealthUpdateUsageDescription

  NSHomeKitUsageDescription

  NSLocationAlwaysUsageDescription

  NSLocationWhenInUseUsageDescription

  NSMicrophoneUsageDescription

  NSMotionUsageDescription

  NSPhotoLibraryUsageDescription

  NSRemindersUsageDescription

  NSSiriUsageDescription

  NSSpeechRecognitionUsageDescription

  NSVideoSubscriberAccountUsageDescription

  NSVoIPUsageDescription

 

二、回调跳转问题(openUrl) (PBItemCollectionServicer connection disconnected 友盟第三方登陆时 受权后不回调的缘由)

  iOS10 openUrl须要在下面方法中进行回调配置:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options NS_AVAILABLE_IOS(9_0); // no equiv. notification. return NO if the application can't open for some reason

三、应用程序语言英文问题

  解决办法:

  去掉Use Base Internationalization的勾选

 

四、关于推送问题(我用的是极光推送,iOS10相关配置官方文档说的很明白,自行修改)

  打开Push Notifications 开关

 

五、快捷注释问题

  升级后,使用command+/ 快捷注释,我出现了下不能使用的问题,重启后就能好了(Xcode8.1)(使用中偶尔也会出现注释快捷键失效的状况,重启xcode或重启机器O__O")。

  仍是敲下网上的解决办法:

  终端命令行输入:sudo /usr/libexec/xpccachectl

  以后必须重启电脑

六、废弃的方法

  若是还须要兼容能够定义下版本的宏,而后根据版原本处理方法的使用,替换被废弃方法的方法通常会经过warning 给出,点进去苹果文档查看便可

  举个栗子:

#define IOS_10 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0 ? YES : NO)