升級 iOS 10 之后目測坑還是挺多的,記錄一下吧,看看到時候會不會成為一個系列。
直入正題吧
今天在寫 Swift 3 相關(guān)的一個項目小小練下手,發(fā)現(xiàn)調(diào)用相機(jī),崩了。試試看調(diào)用相冊,又特么崩了。然后看到控制臺輸出了以下信息:
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.
意思就是說,你需要在 info.plist 文件添加一個 NSPhotoLibraryUsageDescription的 key,然后添加一個描述。
解決方案
1.在項目中找到info.plist文件,右鍵點擊以 Source Code形式打開
2.添加以下鍵值對,這里以 PhotoLibrary 作為例子
<key>NSPhotoLibraryUsageDescription</key>
<string>此 App 需要您的同意才能讀取媒體資料庫</string>
注意,key 是絕對不能寫錯的,
而 value 也就是<string></string>你可以隨意寫
附圖
目測所有需要的權(quán)限描述都會在 iOS 10 beta里面crash,不用怕,控制臺會有輸出的,自行添加就 OK,我另外附送幾個 key/value 給你們
<key>NSCameraUsageDescription</key>
<string>cameraDesciption</string>
<key>NSContactsUsageDescription</key>
<string>contactsDesciption</string>
<key>NSMicrophoneUsageDescription</key>
<string>microphoneDesciption</string>
嗯,然后 clean 一下,重新運行。
當(dāng)然我比較推薦的做法是直接
info.plist 還是用 Property List 的形式,然后點擊添加, 就是滑動到最后一個 item 會出現(xiàn)一個小加號
輸入 Privacy 可以迅速定位到這一權(quán)限系列,找到你需要的權(quán)限,修改后面的 value 就可以了