iOS10-配置获取隐私数据权限声明

iOS10中,苹果加强了对用户隐私数据的保护,在访问以下数据的时候都需要在info.list重配置privacy,进行声明,否则程序无法正常运行。

Contacts, Calendar, Reminders, Photos, Bluetooth Sharing, Microphone, Camera, Location, Health, HomeKit, Media Library, Motion, CallKit, Speech Recognition, SiriKit, TV Provider.
  • 1
  • 1

info.plist中的配置:

注意:

  1. 后面填的string会在弹出用户允许时展示在描述里
  2. 这些key的名字在Xcode 8中已经有了自动补全
  3. 配置完记得先clear哦

下面是隐私权限以及相关设置

注意,info.plist 不加对应字段,访问相册,通讯录,同时添加的时候,结尾尾不要有空格

警告:

近期有小伙伴们用Xcode 8打包上传App,本地验证和ipa上传都正常。但是itunes connect后台的构建版本一直出不来,手机APP 端的 itunes connect收到push通知提示 "your app has changed to invalid binary" 同时苹果给你的账号发了邮件为 "This app attempts to access privacy-sensitive data without a usage description. The app‘s Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data."

iOS 10已经要求我们添加权限申请的描述,如调取通讯录和相册的时候调试过程中就可以发现申请相应权限时程序会崩溃。加上权限描述,但如果描述字符串为空时,调试正常,但却会引发上面的包无效的问题。“所有还是需要一个具体的描述信息”。

温馨提示: 各位开发的小伙伴可以安装一个手机端的iTunes connect,方便及时收到相关的审核进度,同时在邮箱中设置好开发的邮箱,及时收到苹果对于开发者发送的邮件

我们需要打开info.plist文件添加相应权限的说明,否则程序在iOS10上会出现崩溃。你的项目中访问了隐私数据,比如:相机,相册,联系人等,在Xcode8中打开编译的话,统统会crash,控制台会输出下面这样的日志:
具体如下图

  • log 打印错误提示

022.png

  • 权限配置 info.plist 文件

02.png

  • 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风?
  • 相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机?
  • 相册权限: Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库?通讯录权限: Privacy - Contacts Usage Description 是否允许此App访问你的通讯录?
  • 蓝牙权限:Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?
  • 语音转文字权限:Privacy - Speech Recognition Usage Description 是否允许此App使用语音识别?
  • 日历权限:Privacy - Calendars Usage Description 是否允许此App使用日历?
  • 定位权限:Privacy - Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
  • 定位权限: Privacy - Location Always Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
    定位的需要这么写,防止上架被拒。

在Xcode里选中当前的target,选择Capabilities,找到Background Modes,打开它,在里面选择对应权限

 

时间: 2024-08-09 06:34:14

iOS10-配置获取隐私数据权限声明的相关文章

配置获取隐私数据权限声明

iOS 10的一大变化是更强的隐私数据保护.在文档中是这么描述的: You must statically declare your app’s intended use of protected data classes by including the appropriate purpose string keys in your Info.plist file. 简单的说访问用户数据都需要现在Info.plist中声明,否则会crash. 这些用户数据包括: Contacts, Calen

兼容iOS 10:配置获取隐私数据权限声明

原文链接 iOS 10的一大变化是更强的隐私数据保护.在文档中是这么描述的: You must statically declare your app’s intended use of protected data classes by including the appropriate purpose string keys in your Info.plist file. 简单的说访问用户数据都需要现在Info.plist中声明,否则会crash.这些用户数据包括: Contacts, C

Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据

一.前言 今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失.下面就来看一下这个属性的影响到底有多大.他的作用是什么? 二.Android中的allowBackup属性 1.allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开

mybatis整合数据权限

现在很多企业级应用都需要拦截数据权限, 只有配置了相应数据权限的人才能看到该数据 关于数据权限的实现, 个人想了两种实现方式 第一种是基于AOP, 配置相应的注解, 在切面中将数据权限的参数值强制设置到请求参数中去, 然后dao层利用mybatis的动态sql, 将权限值拼接进去, 该方案有前提条件, 数据权限控制的字段必须放到基类中, 其他的对象要继承该基类, Mapper.xml必须抽取一个公用的, 其他的Mapper需要引用该mapper文件作为权限控制(否则每个类和Mapper.xml都

iOS10权限声明国际化

1.xCode8权限 xCode8.0开始苹果对隐私权限的控制更加严格,并且在隐私权限对应的描述不能为空,否则提交时在活动里面并看不到你提交的二进制文件,并给开发者邮箱发送以下邮件 2.权限描述国际化 解决办法是在Info.plist中添加Privacy - Camera Usage Description和Privacy - Photo Library Usage Description. 如果直接写在Info.plist中,则不能多语言显示提示,想要多语言提示,可以选中Info.plist文

获取网络访问权限套餐提供国外网络访问配置服务外网访问服务

获取网络访问权限套餐提供国外网络访问配置服务外网访问服务 可以访问youtube等国外网站 获取网络访问权限套餐 预览:http://www.tudou.com/v/56Qa6nyxTg4/&rpid=24434369&resourceId=24434369_04_05_99/v.swf 提供YouTube.Google+.Facebook.Twitter.App Store.维基百科等最全网站访问权限,终身享受远程设置套餐服务. 预览视频 http://www.tudou

201507221403_《backbone之一——新建模型和集合、实例化模型、模型上监听事件的方法、模型设置和获取后台数据、配置理由方法、视图绑定事件的方法、绑定模型等》

一 . 新建 var model_1 = new Backbone.Model({'name':'hello'}); var model_2 = new Backbone.Model({'name':'hi'}); var models = new Backbone.Collection(); models.add( model_1 ); models.add( model_2 ); alert( JSON.stringify(models) ); 二. 实例化模型 var M = Backbo

iOS 10 获取相册相机权限

        AVAudioSession *audioSession = [[AVAudioSession alloc]init]; [audioSession requestRecordPermission:^(BOOL granted) { completionBlock(); }]; 在 iOS10 之前调用 系统相机权限 没有问题 现在突然不能用了 ,可能 是 iOS10 对 隐私中的权限做了 进一步限制 需要在Info.plist 中添加说明 1.相机 Privacy - Phot

在域中获取域管理员权限的多种方法及一些缓解措施

翻译:hac425 前言 现在攻击者有很多方法可以用来获取域管理员权限.这篇文章的目的是介绍一些当前较受欢迎的方式.这里所介绍的技术的基本点是攻击者已经拿到了一台域中的服务器,并已获得域用户凭据. 对大多数企业来说有一个不幸的现实:对于一个攻击者来说,从域用户权限提升到域管理员权限往往不需要太长的时间.为什么会这样呢?本文会介绍其中使用的一些技巧. 现在针对一个企业,组织的攻击越来越频繁通过一些钓鱼手法来开始.比如通过发送大量的钓鱼邮件给目标的成员来在目标网络的机器上执行代码.一旦攻击者能够在企