iOS10适配之权限Crash问题的完美解决方案_IOS

升级 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 就可以了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索权限
, 适配
, crash
ios10
android 适配解决方案、ios 10权限适配、android 6.0权限适配、ip适配器冲突这么解决、android m权限适配,以便于您获取更多的相关知识。

时间: 2024-08-19 16:18:12

iOS10适配之权限Crash问题的完美解决方案_IOS的相关文章

iOS10适配问题及解决方法 新鲜出炉!_IOS

随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使用下面的方法: 复制代码 代码如下: #define isiOS10 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=10) 它会永远返回NO,substringToIndex:1在iOS 10 会

Xcode8下iOS10常见报错闪退,字体适配和编译不过的问题及解决方案_IOS

9月14日凌晨1点,苹果推送了iOS10,于是一上班就迅速升级了iOS10,然后坑就这样开始了... 问题1 首先是xcode的问题,发现xcode升级到8才能真机运行,于是先了解了下iOS10的适配. 有这个iOS10适配总结,还有这个iOS10适配问题收集整理,还有这个iOS10适配,还有很多其他的. 这个好办,取消nullabl关键字就好. 然后另一个蛋疼的问题来了 问题二,编译不过的问题 蛋疼的clang报错le.. 这个是详细的信息,一堆莫名其妙的东西出来了. 隐隐约约感觉是WGS84

详解适配iOS10 的相关权限设置_IOS

在最新版本的iOS10系统中,如果你的项目中访问了隐私数据,比如:相机.相册.录音.定位.联系人等等.涉及到权限问题. 解决办法(fix method): 在info.plist -Source Code中添加 UsageDescription相关的key, 描述字符串自己随意填写就可以,但是一定要填写,不然会引发包无效的问题,导致上传打包后构建版本一直不显示. <!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key>

iOS10 适配以及Xcode8配置总结_IOS

一.Xcode8 插件你去哪了 以为是和之前一样 Xcode 升级了,只需要更新 Xcode info.plsit 中的 DVTPlugInCompatibilityUUID,结果发现一点用都木有泪奔:苹果解决xcode ghost,把插件屏蔽了,为此也给大伙找到了相关的解决方法,但是不怎么推荐这样做,因为烦的是不能够上传 iTunes content https://github.com/inket/update_xcode_plugins 还有一种方案就是Xcode自带的注释插件! 解决方法

iOS10适配(必看)_IOS

一.工程改动 1. 工程配置 直接使用Xcode8Beta打开工程后,你会发现你的provisonfile配置出了问题,这是由于在Xcode8中对工程配置有了一些小的改动. 在Xcode8工程配置的general选项卡中,使用更详细signing选项替换了原有的team选项. 选中:project -> target -> general Xcode8之前team选项 Xcode8之前provisionfile选项 Xcode8之后变更为signing选项 2. swift版本 假如你Xcod

iOS10适配问题点总结_IOS

说在前面 iOS10和xcode8的GM版都放出了下载,我怀着忐忑的心更新了下(怕有适配问题啊!!!),先更新的xcode8,跑了下公司的项目,除了nullable字段有问题其他都还比较顺利,不过项目跑起来,还是有一点小问题,好在不像iOS9更新时变化那么多,然后我又给手机升级了iOS10,跑了个真机,结果一不小心测试到后半夜2点...浪费了一上午玩游戏的好时光.本篇就我碰到的问题一一整理,希望有类似问题的猴们,可以有点参考. 问题点 问题一(nullable) Q:以前是可以nullable的

单纯聊一聊iOS10适配_IOS

一.工程改动 1. 工程配置 直接使用Xcode8Beta打开工程后,你会发现你的provisonfile配置出了问题,这是由于在Xcode8中对工程配置有了一些小的改动. 在Xcode8工程配置的general选项卡中,使用更详细signing选项替换了原有的team选项. 选中:project -> target -> generalXcode8之前team选项   Xcode8之前provisionfile选项 Xcode8之后变更为signing选项   signing选项展开 2.

Android 6.0调用相机图册崩溃的完美解决方案_Android

最近客户更新系统发现,以前的项目在调用相机的时候,闪退掉了,很奇怪,后来查阅后发现,Android 6.0以后需要程序授权相机权限,默认会给出提示,让用户授权,个人感觉这一特性很好,大概如下: 导入Android V4, V7包! Android Studio 导入很简单,右键项目后找到dependency就ok了. 继承AppCompatActivity public class MainActivity extends AppCompatActivity 引入需要的类库 import and

浅谈android获取设备唯一标识完美解决方案

本文介绍了浅谈android获取设备唯一标识完美解决方案,分享给大家,具体如下: /** * deviceID的组成为:渠道标志+识别符来源标志+hash后的终端识别符 * * 渠道标志为: * 1,andriod(a) * * 识别符来源标志: * 1, wifi mac地址(wifi): * 2, IMEI(imei): * 3, 序列号(sn): * 4, id:随机码.若前面的都取不到时,则随机生成一个随机码,需要缓存. * * @param context * @return */ p