前段時間升級了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)