10當(dāng)我升級到Xcode8后,啟動我的相機(jī)項目,直接crash,輸出的日志如下:'2016-07-08 16:41:11.268943 project-name[362:56625] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles2016-07-08 16:41:11.272276 project-name[362:56625] [MC] Reading from public effective user settings.2016-07-08 16:41:11.356590 project-name[362:56700] [access]'使用Xcode7啟動,卻沒有問題,實際原因是上面的輸出日志中最后一行就是告訴你訪問了隱私權(quán)限(aceess private),需要配置權(quán)限相機(jī)權(quán)限:Privacy - Camera Usage Description允許此權(quán)限才能使用相機(jī)功能因為我的項目還需要錄制視頻,并且想要保存圖片,
所以需要增加相冊:Privacy - Photo Library Usage Description允許此權(quán)限才能保存圖片
要錄制視頻的一定要加上(麥克風(fēng):Privacy - Microphone Usage Description)不然會崩的
麥克風(fēng):Privacy - Microphone Usage Description允許此權(quán)限才能錄音在info.plist里增加一項,key從上面的三項任一項拷貝,然后運行后會出現(xiàn)授權(quán)的警示框,同意后就沒有問題了。


在還沒有解決問題之前,即在未增加上面key之前,查看‘設(shè)置-隱私-相機(jī)’、‘設(shè)置-隱私-照片’、‘設(shè)置-隱私-麥克風(fēng)’,即使安裝了應(yīng)用,也無法在‘設(shè)置-隱私-xx’里看到有這個應(yīng)用出現(xiàn)。
由此表明,Xcode8即IOS10的權(quán)限相關(guān)改為了在info.plist顯示的設(shè)置,原來是在代碼中調(diào)用到相關(guān)模塊,系統(tǒng)自己為這個項目記錄權(quán)限,現(xiàn)在需要項目本身顯示的要求權(quán)限,然后系統(tǒng)讀取。當(dāng)增加了key之后,運行應(yīng)用即可以在‘設(shè)置-隱私-xx’里看到這個應(yīng)用下面是相關(guān)鏈接,
和根據(jù)Privacy - Camera Usage Description搜索到的相關(guān)問題解答
1.https://forums.developer.apple.com/message/152229#1522292.iOS10?
權(quán)限崩潰問題3.Information Property List Key Reference
ios 10 中權(quán)限適配?
升級到iOS10之后,需要設(shè)置權(quán)限的有:
<!-- 相冊 -->
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能訪問相冊</string>
<!-- 相機(jī) -->
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能訪問相機(jī)</string>
<!-- 麥克風(fēng) -->
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能訪問麥克風(fēng)</string>
<!-- 位置 -->
<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能訪問位置</string>
<!-- 在使用期間訪問位置 -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期間訪問位置</string>
<!-- 始終訪問位置 -->
<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始終訪問位置</string>
<!-- 日歷 -->
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能訪問日歷</string>
<!-- 提醒事項 -->
<key>NSRemindersUsageDescription</key>
<string>
App需要您的同意,才能訪問提醒事項</string>
<!-- 運動與健身 -->
<key>NSMotionUsageDescription</key>
<string>App需要您的同意,才能訪問運動與健身</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>
---------------------
作者:haoxuhong
來源:CSDN
原文:https://blog.csdn.net/haoxuhong/article/details/82107301
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!