IOS10 解决权限崩溃问题详解

今天 手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息:

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.

意思是说:你需要在info.plist文件 添加一个“NSContactsUsageDescription ”的Key,Value添加一个描述。

1,在项目中找到info.plist文件,右击有个 Open As,以Source Code 的形式打开

2,分别复制 以下 Value 和Key,Key 一定不能错,Value 貌似可以随便填写

相机权限描述:

<key>NSCameraUsageDescription</key>
    <string>cameraDesciption</string>

通信录:

<key>NSContactsUsageDescription</key>
    <string>contactsDesciption</string>

麦克风:

<key>NSMicrophoneUsageDescription</key>
    <string>microphoneDesciption</string>

相机:

<key>NSPhotoLibraryUsageDescription</key>
    <string>photoLibraryDesciption</string>

eg:其他权限描述,debug 控制台都会有输出的,自行添加就OK

3,在info.plist 文件上 复制上,然后 保存,如下图:

Source Code 的形式:

Property List 的展现形式:

4,Clean之后,运行就OK了

通过此文希望能帮助到大家解决 IOS10 权限崩溃的问题,谢谢大家对本站的支持!

(0)

相关推荐

  • iOS 捕获程序崩溃日志

    iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者? 下面就介绍如何在iOS中实现: 1. 在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动作 复制代码 代码如下: NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler); 官方文档介绍:Sets the top-level error-handling function where you can perform last-minute lo

  • iOS10 权限崩溃问题详解及解决方案

    iOS10 权限崩溃问题 今天 手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息: This app has crashed because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSContactsUsageDescri

  • 解决iOS7上UITextField限制字数输入导致崩溃问题的方法

    在一些场景中,需要限制用户的输入字数,例如在textField里进行控制(textView也类似,崩溃原因也相同),如图所示 系统会监听文本输入,需要注意的第一点是输入法处于联想输入还未确定提交的时候,对于第三方输入法例如搜狗,联想状态下的输入,是监听不到,除非点击确定输入到textField,才会触发changed事件. 但对于系统键盘,联想状态下的输入也会监听,这里如果不处理就容易发生崩溃,例如当快要达到字数限制时,继续输入,此时textField.text =联想输入文字+textFiel

  • iOS开发学习之监测程序的崩溃次数详解

    前言 本文主要给大家介绍的是关于iOS如何监测程序崩溃次数的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 在写代码之前,我们先弄明白一个app运行的流程. 程序运行启动时依次调用 1.启动页先运行 2. - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 3. - (void)applicationDidBec

  • IOS10 解决权限崩溃问题详解

    今天 手机升级了 iOS10 Beta,然后用正在开发的项目 装了个ipa包,发现点击有关 权限访问 直接Crash了,并在控制台输出了一些信息: 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 wit

  • IOS10 隐私权限设置实例详解

    Xcode8,iOS10.0系统中,使用相机功能的时候报错 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 h

  • 对Python w和w+权限的区别详解

    今日上课,有位同学问到:w和w+有何区别呢. 说实话,我们经常只是用一种权限,没用在意之间的区别,实际上,w+具有可读可写权限,而w只有可写权限. 下面上代码: fd=open('d:\\test.txt','w+') fd.write('123') fd.close() 如果这样用,确实两者没有区别,但是在下面就有区别了. fd=open('d:\\test.txt','w+') fd.write('123') fd.seek(0) print(fd.read()) fd.close() #首

  • linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户.本文给大家介绍linux中权限管理命令详解(chmod/chown/chgrp/unmask),具体内容如下: chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户功能描述:改变文件或目录权限 语法 chmod [{ug

  • iOS开发多线程下全局变量赋值崩溃原理详解

    目录 问题 Demo 崩溃原因 崩溃路径 验证方式 其它测试 问题 Demo 在多线程下同时给全局变量赋值时会发生崩溃: static NSObject *_instance; - (void)foo { _instance = [[NSObject alloc] init]; } 崩溃原因 如下为源码的汇编代码: Demo-iOS`-[ViewController foo]: 0x104e4e088 <+0>: stp x29, x30, [sp, #-0x10]! 0x104e4e08c

  • java封装及四种权限修饰符详解

    1.对属性进行封装,使用户不能直接输入数据,我们需要避免用户再使用"对象.属性"的方式对属性进行赋值.则需要将属性声明为私有的(private). 2.我们将类的属性私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值 封装性的体现,需要权限修饰符来配合 1.Java规定的4种权限(从小到大排列):private.缺省.protected .public 2.这4种权限可以用来修饰类及类的内部结构:属性.方法.构造器.内部

  • Vue element实现权限管理业务流程详解

    目录 展开渲染标签编辑权限 对话框内树形组件编辑权限 展示所有权限 添加 编辑 删除 角色 都与上一篇 用户类似 只是接口不同 我们只关注其他不一样的: 展开渲染标签编辑权限 el-table-column type="expand"设置了expand则显示为一个可展开的按钮 显示图上的效果 使用了 三重for循环 按照 tree 数据结构 .children 取得下一级数据 <el-table-column type="expand"> <tem

  • Java回溯法解决全排列问题流程详解

    题目描述: 给定一不重复的数组,返回其具有的所有全排列(使用 List<List > 返回) 思路: 以数组 nums = [1, 2, 3] 为例,其具有的解空间可以用这样一棵树表示,相比看到这里大家就可以知道,这是一道可以用 回溯法 解决的题. 难点:如何保证不选到已经使用过的数组元素 —— 使用 used[] 数组标记该元素是否被使用过 细节请看代码注释 // 用于存储结果的数组 List<List<Integer>> ans = new ArrayList<

  • React Suspense解决竞态条件详解

    目录 前言 Suspense 执行机制 实际应用 好处:请求前置 好处:解决竞态条件 错误处理 源码 前言 在上一篇<React 之 Race Condition>中,我们最后引入了 Suspense 来解决竞态条件问题,本篇我们来详细讲解一下 Suspense. Suspense React 16.6 新增了 <Suspense> 组件,让你可以“等待”目标代码加载,并且可以直接指定一个加载的界面(像是个 spinner),让它在用户等待的时候显示. 目前,Suspense 仅支

随机推荐