一.工程改動(dòng)
1. 工程配置
直接使用Xcode8Beta打開工程后荤傲,你會(huì)發(fā)現(xiàn)你的provisonfile配置出了問題垮耳,這是由于在Xcode8中對(duì)工程配置有了一些小的改動(dòng)。
在Xcode8工程配置的general選項(xiàng)卡中弃酌,使用更詳細(xì)signing選項(xiàng)替換了原有的team選項(xiàng)氨菇。
選中:project -> target -> general
Xcode8之前team選項(xiàng)
Xcode8之前provisionfile選項(xiàng)
Xcode8之后變更為signing選項(xiàng)
signing選項(xiàng)展開
2. swift版本
假如你Xcode7的工程中使用了swift,那么你使用Xcode8一打開工程就會(huì)出現(xiàn)下面的選項(xiàng)妓湘,選擇convert:
選convert后查蓉,會(huì)讓你選擇swift的版本。
如果你選擇了3.0版本的swift選項(xiàng)榜贴,那等待convert結(jié)束后豌研,一般依然有一部分需要你做手動(dòng)適配。
假如你暫時(shí)不想花費(fèi)時(shí)間做swift版本的適配唬党,你可以選擇swift2.3版本鹃共,convert并不會(huì)轉(zhuǎn)換任何內(nèi)容,你的項(xiàng)目也可以像以往在Xcode7中那樣正常運(yùn)行驶拱。
此時(shí)我們選擇swift2.3:
選擇swift版本后霜浴,選擇你的工程target:
稍等片刻:
選擇update,結(jié)束收工:
二蓝纲、應(yīng)用適配
1. 權(quán)限配置
隨著人們對(duì)隱私保護(hù)的注重阴孟,似乎蘋果的每一代產(chǎn)品都有相應(yīng)的體現(xiàn)——更為嚴(yán)格的設(shè)備和數(shù)據(jù)訪問權(quán)限控制。
在iOS10中税迷,如果你的App想要訪問用戶的相機(jī)永丝、相冊、麥克風(fēng)箭养、通訊錄等等權(quán)限慕嚷,都需要進(jìn)行相關(guān)的配置,不然會(huì)直接crash毕泌。
你需要在info.plist中添加你App需要的一些設(shè)備權(quán)限喝检。
首先找到info,可以直接在這里添加鍵值對(duì):
也可以找到info.plist文件撼泛,然后使用SourceCode方式打開:
一些常用的權(quán)限配置選項(xiàng):
```
// 相機(jī)
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能訪問相冊</string>
// 相冊
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能訪問相機(jī)</string>
// 麥克風(fēng):
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能訪問麥克風(fēng)</string>
// 通信錄
<key>NSContactsUsageDescription</key>
<string>App需要您的同意,才能訪問通信錄</string>
```
其它權(quán)限配置選項(xiàng):
```
// 位置
<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能訪問位置</string>
// 在使用期間訪問位置
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期間訪問位置</string>
// 始終訪問位置
<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始終訪問位置</string>
// 日歷
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能訪問日歷</string>
// 提醒事項(xiàng)
<key>NSRemindersUsageDescription</key>
<string>App需要您的同意,才能訪問提醒事項(xiàng)</string>
// 運(yùn)動(dòng)與健身
<key>NSMotionUsageDescription</key>
<string>App需要您的同意,才能訪問運(yùn)動(dòng)與健身</string>
// 健康更新
<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能訪問健康更新 </string>
// 健康分享
<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能訪問健康分享</string>
// 藍(lán)牙
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能訪問藍(lán)牙</string>
// 媒體資料庫
<key>NSAppleMusicUsageDescription</key>
<string>App需要您的同意,才能訪問媒體資料庫</string>
```
2. 字體改變
iOS10的字體發(fā)生了變化蛇耀,這導(dǎo)致一些文字在原有的寬高約束下可能會(huì)出現(xiàn)顯示不完整或者留白的情況,需要逐一檢查坎弯。
3. 推送通知
iOS10以后,想要正常收到推送通知,需要進(jìn)行額外的配置:
參考
IOS 10 適配系列2 IOS10 適配匯總:ATS抠忘、隱私數(shù)據(jù)撩炊、UserNotifications、UICollectionView匯總