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 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了

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2016-11-14

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

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

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

iOS 捕获程序崩溃日志

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

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

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

IOS开发 支持https请求以及ssl证书配置详解

IOS开发 支持https请求以及ssl证书配置详解 前言: 众所周知,苹果有言,从2017年开始,将屏蔽http的资源,强推https 楼主正好近日将http转为https,给还没动手的朋友分享一二 一.证书准备 1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你就可以得到cer类型的证书了.双击,导入电脑. 2.证书放入工程 1.可以直接把转换好

IOS开发之手势响应事件优先级的实例详解

IOS开发之手势响应事件优先级的实例详解 交互响应事件都是通过手势的操作完成的,如点击.或双击.或长按,这些交互都是在视图中完成的,但是不同的视图可能会有不同的交互,有时候就会出现交互响应事件冲突的情况.这时候就需要处理事件优先级,以便达到想要的效果. 示例场景:一个自定义模式视图view中,有一个列表视图table,同时有一个确定的按钮视图button:在view中有一个单击事件UITapGestureRecognizer,在table中点击每个cell也会有点击事件,同样的button中有个

iOS开发微信收款到账语音提醒功能思路详解

一.背景 为了解决小商户老板们在频繁交易中不方便核对.确认到账的痛点,产品MM提出了新版本需要支持收款到账语音提醒功能.这篇文章总结了开发过程中遇到的坑和一些小技巧. 二.技术方案 后台唤醒App 收款到账语音提醒需要收款方在收到款后,播放一段TTS合成语音播报金额,微信在前台时可以通过模板消息将需要播报的金额带下来,再请求TTS数据并播放,但是app在挂起或者被kill掉的情况下要如何请求语音数据并播放呢? iOS提供了两种方式唤醒处于挂起或已经被kill掉的app.分别是Silent Not

iOS开发实现HTTPS之cer文件的使用详解

iOS开发中实现支持HTTPS,有两种方法:一是后台那边都处理好了,移动端直接可以使用HTTPS接口,二是后台给移动端一个服务器证书cer 文件,这时我们就需要将cer文件导入到我们的工程中,以下是实现方法 1. 双击证书,这时证书已经添加到了钥匙串中 2. 将cer 文件拖入工程中 3. 如果使用的是AFNetwotking 的话,在代码中添加以下代码 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; //证书 AF

iOS开发--仿新闻首页效果WMPageController的使用详解

这一篇记录的是iOS开发中第三方库WMPageController控件的使用方法,主要是用来分页显示内容的,可以通过手势滑动来切换页面,也可以通过点击标题部分来切换页面,如下图所示: 使用方法: 新建工程DemoTest1,然后通过cocoapods引入WMPageController到项目中,Podfile文件的内容如下: platform :ios,'7.0' target 'DemoTest1' do pod 'WMPageController', '~> 1.6.4' end 方法一:

iOS开发之拦截URL转换成本地路由模块URLRewrite详解

本文主要给大家介绍了关于iOS拦截URL转换成本地路由模块URLRewrite的相关内容,分享出来供各位iOS开发者们参考学习,下面话不多说了,来一起看看详细的介绍: 需求场景 做过电商App的可能都遇到过这样的需求,在商场首页,各种各样动态的跳转,跳转商品详情.秒杀列表.品牌列表.搜索结果.分类结果页面等等等等.同一个位置,可能今天跳这个商品,明天跳转那个商品,运营配的就是一个web端的URL. 拦截webView里面的URL. 需求分析 拦截各种各样的URL,跳转到指定的原生页面. URL的

IOS 基础之nil,NULL,NSNULL区别详解

IOS 基础之nil,NULL,NSNULL区别详解 ① nil:一般赋值给空对象. ② NULL:NULL 是一个通用指针(泛型指针). 一般赋值给 nil 之外的其他空值.如SEL等. ③ NSNULL:[NSNull null] 是一个对象,他用在不能使用 nil 的场合. 因为在 NSArray 和 NSDictionary 中 nil 有特殊的含义(表示列表结束),所以不能在集合中放入 nil 值.如要确实需要存储一个表示"什么都没有"的值,可以使用 NSNull 类.NSN

基于asp.net MVC 应用程序的生命周期(详解)

首先我们知道http是一种无状态的请求,他的生命周期就是从客户端浏览器发出请求开始,到得到响应结束.那么MVC应用程序从发出请求到获得响应,都做了些什么呢? 本文我们会详细讨论MVC应用程序一个请求的生命周期,从一个控件到另一个控件是怎样被处理的.我们还会详细介绍一下整个请求的生命周期中,用到的相关组件.因为在平常的开发过程中,我们可能知道怎样去使用MVC框架来处理相关的请求,大部分的时候我们只是在controller和action方法之间做相关的处理,对于真正内在的运行机制可能不是很了解.其实

IOS自带Email的两种方法实例详解

IOS自带Email的两种方法实例详解 IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. 1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时退出.下面是使用openURL来发邮件的一个小例子: #pr