iOS10适配之权限Crash问题的完美解决方案
升级 ios 10 之后目测坑还是挺多的,记录一下吧,看看到时候会不会成为一个系列。
直入正题吧
今天在写 swift 3 相关的一个项目小小练下手,发现调用相机,崩了。试试看调用相册,又特么崩了。然后看到控制台输出了以下信息:
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>你可以随意写
目测所有需要的权限描述都会在 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 一下,重新运行。
当然我比较推荐的做法是直接
info.plist 还是用 property list 的形式,然后点击添加, 就是滑动到最后一个 item 会出现一个小加号
输入 privacy 可以迅速定位到这一权限系列,找到你需要的权限,修改后面的 value 就可以了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。