問題出現(xiàn)描述:項(xiàng)目在開發(fā)時使用的是Xcode7,后來維護(hù)項(xiàng)目時使用Xcode8.2打開運(yùn)行,發(fā)現(xiàn)在通訊錄中報錯如下:
2017-xx-xx xx:xx:xx.xxxxxx xx[6077:133155] [access] This app has crashed because it attempted to access PRivacy-sensitive data without a usage description. The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.同時發(fā)現(xiàn)調(diào)用相冊時也會有類似問題,報錯如下:
2017-xx-xx xx:xx:xx.xxxxxx xx[6077:133155] [access] 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.(lldb)
as錯誤信息譯文分別是
1: 此應(yīng)用程序崩潰,因?yàn)樗噲D訪問隱私敏感的數(shù)據(jù),而無需使用說明。應(yīng)用程序的Info.plist必須包含一個字符串值,解釋如何使用這些數(shù)據(jù)的應(yīng)用程序的用戶NSContactsUsageDescription關(guān)鍵。2: 此應(yīng)用程序崩潰,因?yàn)樗噲D訪問隱私敏感的數(shù)據(jù),而無需使用說明。應(yīng)用程序的Info.plist必須包含一個字符串值,解釋如何使用這些數(shù)據(jù)的應(yīng)用程序的用戶NSPhotoLibraryUsageDescription關(guān)鍵。這個問題解決是要配置文件Info.plist中添加信息描述。在理解一下swift3.0代碼略有變化,我在網(wǎng)上查閱資料發(fā)現(xiàn)這個問題出現(xiàn)的原因,原來由于開發(fā)工具升級,要求在訪問通訊錄、相機(jī)、相冊等權(quán)限時,需要在配置文件Info.plist中添加描述,我的解決問題添加描述如下圖 :
:
以上分別為通訊錄權(quán)限描述、相冊權(quán)限描述、相機(jī)權(quán)限描述。
使用xml格式代碼展示如下:
<key>NSContactsUsageDescription</key> <string>contactsDesciption</string> <key>NSPhotoLibraryUsageDescription</key> <string>photoLibraryDesciption</string> <key>NSCameraUsageDescription</key> <string>cameraDesciption</string>在配置文件Info.plist中添加描述信息,可以直接輸入Privacy,會有目錄提示,可以找到你要的權(quán)限,如圖:
以上是我開發(fā)過程中遇到的問題以及解決辦法,在此分享,如有疏漏錯誤或是疑問,歡迎評論告知。
新聞熱點(diǎn)
疑難解答
圖片精選