升級IOS10后調(diào)用拍照、相冊、通訊錄崩潰

問題出現(xiàn)

今天在IOS10上使用app是在拍照功能Crash、訪問相冊也Crash,IOS9上是正常的。連機調(diào)試發(fā)現(xiàn)報錯如下:

This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

崩潰原因

上面字面意思是指APP試圖訪問安全隱私數(shù)據(jù),但是又沒有相應(yīng)的描述,在info.plist里包含一個鍵值為NSPhotoLibraryUsageDescription 及對應(yīng)的描述來解釋如何使用這些數(shù)據(jù)。

查詢資料發(fā)現(xiàn)是從iOS10,蘋果加強了對隱私數(shù)據(jù)的保護,要對隱私數(shù)據(jù)權(quán)限做一個適配,iOS10調(diào)用相機,訪問通訊錄,訪問相冊等都要在info.plist中加入權(quán)限訪問描述,不然之前你們的項目涉及到這些權(quán)限的地方就會直接crash掉。

解決辦法

只需要在info.plist添加NSPhotoLibraryUsageDescription的key, value自己隨意填寫就可以,這里列舉出對應(yīng)的key(Source Code模式下):

<key>NSPhotoLibraryUsageDescriptionApp</Key><value>程序需要訪問相冊,請授權(quán)</value>

對應(yīng)還有其他類型隱私類型-? 隱私數(shù)據(jù)對應(yīng)key值

通訊錄NSContactsUsageDescription

相冊NSPhotoLibraryUsageDescription

相機NSCameraUsageDescription

麥克風(fēng)NSMicrophoneUsageDescription

位置NSLocationUsageDescription

在使用期間訪問位置NSLocationWhenInUseUsageDescription

始終訪問位置NSLocationAlwaysUsageDescription

日歷NSCalendarsUsageDescription

提醒事項NSRemindersUsageDescription

運動與健身NSMotionUsageDescription

健康更新NSHealthUpdateUsageDescription

健康分享NSHealthShareUsageDescription

藍牙NSBluetoothPeripheralUsageDescription

媒體資料庫NSAppleMusicUsageDescription

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容