1、iOS10相册相机闪退bug:

  iOS10系统下调用系统相册,相机功能,遇到闪退的情况,描述如下:

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.

  修复方法:

(1)在info.plist文件下添加一下代码:

  相机权限

  <key>NSCameraUsageDescription</key>

  <string>cameraDesciption</string>

  相册权限

  <key>NSPhotoLibraryUsageDescription</key>

  <string>photoLibraryDesciption</string>

在网上还有一个说法,跟上述几乎一样只不过多设置了两项权限:

 (2)你需要在info.plist文件 添加一个“NSContactsUsageDescription ”的Key,Value添加一个描述。需要在应用的info.plist里加入(使用source code模式):

    <key>NSCameraUsageDescription</key>

    <string>cameraDesciption</string>

    <key>NSContactsUsageDescription</key>

    <string>contactsDesciption</string>

    <key>NSMicrophoneUsageDescription</key>

    <string>microphoneDesciption</string>

    <key>NSPhotoLibraryUsageDescription</key>

    <string>photoLibraryDesciption</string>

2、iOS10因苹果健康导致闪退crash

  如果在app中调用了苹果健康,iOS10中会出现闪退。控制台报错的原因是:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSHealthUpdateUsageDescription must be set in the app's Info.plist in order to request write authorization.'

这是因为我们要在info.plist文件中声明苹果的使用权限,所以在info.plist中添加一下key就可以l

  请求写入:

  <key>NSHealthUpdateUsageDescription</key>

  <string>some string value stating the reason</string>

  请求读取

 <key>NSHealthShareUsageDescription</key>

<string>some string value stating the reason</string>

另外附加一些其他权限描述:

  相机权限描述:

  <key>NSCameraUsageDescription</key>

   <string>cameraDesciption</string>

  通讯录

  <key>NSContactsUsageDescription</key>

   <string>contactsDesciption</string>

  麦克风

  <key>NSMicrophoneUsageDescription</key>

  <string>microphoneDesciption</string>

  相机

  <key>NSPhotoLibraryUsageDescription</key>

<string>photoLibraryDesciption</string>

3、iOS10配置须知

  在iOS10中,如果你的App想要访问用户的相机、相册、麦克风、通讯录等等权限,都需要进行相关的配置,不然会直接crash。

需要在info.plist中添加App需要的一些设备权限。

  NSBluetoothPeripheralUsageDescription

  访问蓝牙

  NSCalendarsUsageDescription

  访问日历

  NSCameraUsageDescription

  相机

  NSPhotoLibraryUsageDescription

  相册

  NSContactsUsageDescription

  通讯录

  NSLocationAlwaysUsageDescription

  始终访问位置

  NSLocationUsageDescription

  位置

  NSLocationWhenInUseUsageDescription

  在使用期间访问位置

  NSMicrophoneUsageDescription

  麦克风

  NSAppleMusicUsageDescription

  访问媒体资料库

  NSHealthShareUsageDescription

  访问健康分享

  NSHealthUpdateUsageDescription

  访问健康更新

  NSMotionUsageDescription

  访问运动与健身

  NSRemindersUsageDescription

  访问提醒事项

暂时先总结这么多,继续搜集……

针对iOS10的各种问题的解决方法的更多相关文章

  1. 启动tomcat时 一闪而过解决方法

    1 首先确定JAVA 已经配好了环境变量,具体配置方法,找一下度娘. 测试方法:进入cmd -> javac -version 能看到JAVA的版本信息,证明配置成功了. 2 分析一下问题出现的 ...

  2. 针对应用程序池“xxxxxx”的模板永久性缓存初始化失败,解决方法

    日志名称:          Application 来源:            Active Server Pages 日期:            2014-11-22 9:09:39 事件 I ...

  3. 更新xcode后插件失效问题——不针对特定版本的通用解决方法

    一.Xcode更新后插件失效的原理 1.每次更新Xcode后插件都会失效,其实插件都还在这个目录好好的躺着呢: ~/Library/Application Support/Developer/Shar ...

  4. 斯坦福大学公开课机器学习: advice for applying machine learning | deciding what to try next(revisited)(针对高偏差、高方差问题的解决方法以及隐藏层数的选择)

    针对高偏差.高方差问题的解决方法: 1.解决高方差问题的方案:增大训练样本量.缩小特征量.增大lambda值 2.解决高偏差问题的方案:增大特征量.增加多项式特征(比如x1*x2,x1的平方等等).减 ...

  5. 针对piix4_smbus ****host smbus controller not enabled的解决方法

    SMBus 目录 SMBus与I2C的差别 SMBus 是 System Management Bus 的缩写,是1995年由Intel提出的,应用于移动PC和桌面PC系统中的低速率通讯.它主要是希望 ...

  6. Node.js中针对中文的查找和替换无效的解决方法

    Node.js中针对中文的查找和替换无效的解决方法.   //tags的值: tag,测试,帖子 var pos1 = tags.indexOf("测"); //这里返回-1 ta ...

  7. ios10 safari浏览器 在touchmove 里面写e.preventDefault(); 不起作用 的解决方法

    最近做手机端项目遇到一个问题,就是在ios10系统里面  safari浏览器 在touchmove 里面写e.preventDefault();不起作用 更种google 还是没有找到解决方法 最后找 ...

  8. Oracle存储过程中不支持DML语言的解决方法(针对遇见的DROP关键字)

    ---存储过程中的原语句: ---删除表 DROP TABLE A_NEWTDDATA; --报错 经查询:存储过程不支持DML语言: 解决方法: execute immediate 'DROP TA ...

  9. 针对Windows 64位系统中Matlab没有LED Control Activex控件的解决方法

    Win 10 64bits系统中Matlab 64位软件没有LED Control Activex控件,LED ActiveX Control控件位于Gauges Blockset模块中,而Gauge ...

随机推荐

  1. Ansible9:条件语句【转】

    在有的时候play的结果依赖于变量.fact或者是前一个任务的执行结果,从而需要使用到条件语句. 一.when    有的时候在特定的主机需要跳过特定的步骤,例如在安装包的时候,需要指定主机的操作系统 ...

  2. 启动apache服务时报错【the requested operation has failed】

    想要解决错误,首先要找到错误的原因. 使用ApacheMonitor.exe启动apache服务看不到任何错误的原因. 找到问题原因:cmd--命令端--切换到apache的bin目录,执行如下命令: ...

  3. 免费 WebOffice使用

    目前WebOffice使用比较多主要有两个公司的产品,分别是江西金格和北京点聚.但是点聚的是免费的,虽然有欠缺之处,但是经过个人修改还是比较好用的,关键一点是,它免费啊! 把一个最主要加载页面,如果读 ...

  4. github  安装配置以及使用遇到的一些问题

    Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中.目前,包括Rubinius ...

  5. tiny210V2 Uboot kernel filesystem 烧写和启动

    1.sd启动 将u-boot镜像写入SD卡 将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是 ...

  6. websphere安装

    下午来再输 websphere 配置库中已存在应用程序,异常处理 出现此问题的原因之一:操作界面上没有卸载完成. 进行一下操作: 1.删除 $WAS_HOME/profiles/AppSrv01/co ...

  7. ViewPager和View组合 实现页面的切换

    //--------------主页面------------------------------- package com.bw.test; import java.util.ArrayList;i ...

  8. unity 创建NGUI字体

    1.NGUI -> Open -> Font Maker 打开FoontMaker窗口. 2.点Source选择.ttf字体,必须是中文命令,否则会出错. 3.点Custom单选按钮,输入 ...

  9. Linux学习 -- 启动管理

    1 CentOS 6.x启动管理 系统运行级别 运行级别命令 #runlevel   查看级别 #init 运行级别  改变级别 系统默认运行级别 配置文件 /etc/inittab id:3:ini ...

  10. Json.net对数据的解析

    在官网下载Json.net文件后,解压完将Net20下面的DLL复制到Assets目录下. using UnityEngine; using System.Collections; using New ...