文档章节

适配iOS10 的相关权限设置

豆花饭烧土豆
 豆花饭烧土豆
发布于 2016/11/11 02:43
字数 919
阅读 22
收藏 0
点赞 0
评论 1

参考一:

最近升级了Xcode8.0,真是很多坑啊,填完一个来另外一个,今天又遇到了一个,用Xcode8.0上传项目时被驳回说是info.plist里面没有设置NSPhotoLibraryUsageDescription、NSCameraUsageDescription、NSContactsUsageDescription、NSMicrophoneUsageDescription等字段,之前这些都是预设的不用加,现在强制了,真是郁闷,下面贴上解决方案

被驳回的原因:

This app attempts 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.

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.

大概意思就是得在plist里面必须加上NSPhotoLibraryUsageDescription和NSCameraUsageDescription的键值对才行,之前都是默认的,现在必须加,要不不让通过,真是坑啊~~具体配置如下图:

这里写图片描述

1-2.jpg

大概统计了一下需要加的一些字段列在下面:

  • NSContactsUsageDescription -> 通讯录

  • NSMicrophoneUsageDescription -> 麦克风

  • NSPhotoLibraryUsageDescription -> 相册

  • NSCameraUsageDescription -> 相机

  • NSLocationAlwaysUsageDescription -> 地理位置

  • NSLocationWhenInUseUsageDescription -> 地理位置

  • Privacy - Bluetooth Peripheral Usage Description -> 蓝牙权限

  • Privacy - Speech Recognition Usage Description -> 语音转文字权限

  • Privacy - Calendars Usage Description -> 日历权限

  • Privacy - Contacts Usage Description -> 通讯录权限

大概就是以上的一些字段,写一篇博客总结一下,方便以后用到的时候能找到,如果大家有补充的可以告诉我一下,谢谢大家的阅读

参考二

解决办法(fix method):
info.plist —Source Code中添加
UsageDescription相关的key, 描述字符串自己随意填写就可以,但是一定要填写,不然会引发包无效的问题,导致上传打包后构建版本一直不显示

<!-- 相册 --> 
<key>NSPhotoLibraryUsageDescription</key> 
<string>App需要您的同意,才能访问相册</string> 
<!-- 相机 --> 
<key>NSCameraUsageDescription</key> 
<string>App需要您的同意,才能访问相机</string> 
<!-- 麦克风 --> 
<key>NSMicrophoneUsageDescription</key> 
<string>App需要您的同意,才能访问麦克风</string> 
<!-- 位置 --> 
<key>NSLocationUsageDescription</key> 
<string>App需要您的同意,才能访问位置</string> 
<!-- 在使用期间访问位置 --> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>App需要您的同意,才能在使用期间访问位置</string> 
<!-- 始终访问位置 --> 
<key>NSLocationAlwaysUsageDescription</key> 
<string>App需要您的同意,才能始终访问位置</string> 
<!-- 日历 --> 
<key>NSCalendarsUsageDescription</key> 
<string>App需要您的同意,才能访问日历</string> 
<!-- 提醒事项 --> 
<key>NSRemindersUsageDescription</key> 
<string>App需要您的同意,才能访问提醒事项</string> 
<!-- 运动与健身 --> 
<key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string> 
<!-- 健康更新 --> 
<key>NSHealthUpdateUsageDescription</key> 
<string>App需要您的同意,才能访问健康更新 </string> 
<!-- 健康分享 --> 
<key>NSHealthShareUsageDescription</key> 
<string>App需要您的同意,才能访问健康分享</string> 
<!-- 蓝牙 --> 
<key>NSBluetoothPeripheralUsageDescription</key> 
<string>App需要您的同意,才能访问蓝牙</string> 
<!-- 媒体资料库 --> 
<key>NSAppleMusicUsageDescription</key> 
<string>App需要您的同意,才能访问媒体资料库</string>

iOS 10 开始对隐私权限更加严格, 如需使用隐私权限需要在工程的info.plist文件中声明,如果不声明程序在调用隐私权限(如相机)时应用程序会崩溃
离线打包用户需要手动添加权限到打包工程的info.plist文件中

key可从以下表中获取,value为弹框提示文字用户可随意添加,类型String

权限名称 Key值
通讯录 NSContactsUsageDescription
麦克风 NSMicrophoneUsageDescription
相册 NSPhotoLibraryUsageDescription
相机 NSCameraUsageDescription
持续获取地理位置 NSLocationAlwaysUsageDescription
使用时获取地理位置 NSLocationWhenInUseUsageDescription
蓝牙 NSBluetoothPeripheralUsageDescription
语音转文字 NSSpeechRecognitionUsageDescription
日历 NSCalendarsUsageDescription

参考资料

http://blog.csdn.net/wang631106979/article/details/52578001

http://blog.csdn.net/qq_30513483/article/details/52587483

http://blog.csdn.net/dcw050505/article/details/53038798

http://ask.dcloud.net.cn/article/931

© 著作权归作者所有

共有 人打赏支持
豆花饭烧土豆
粉丝 14
博文 339
码字总数 83750
作品 0
深圳
加载中

评论(1)

小码爱大牛
小码爱大牛
你好,我是深圳一家以家居安防为核心的智能家居公司的HR在招聘一位会ffmpeg的Android开发工程师和一位iOS开工程师。不知道您自己或者身边同事朋友有没有在看工作机会的呢?如果感兴趣可以发简历到3288771685@qq.com或者加起QQ。
关于升级 xcode8

郑重声明:楼主非大神,只是善于学习新技术,善于总结.非大神,非大神,非大神,重要的事情说三遍...... 升级xcode8已是必然,升级ios10的用户不能说大有人在,应该也不会少,楼主听说,如果不升级xco...

Jack088 ⋅ 2016/10/08 ⋅ 0

iOS开发Xcode8需要注意的那些坑

现在在苹果的官网上,我们已经可以下载到Xcode8的GM版本了,加上9.14日凌晨,苹果就要正式推出iOS10系统的推送了,在此之际,iOS10的适配已经迫在眉睫啦,不知道Xcode8 beat版本,童鞋们有木...

人生好迈 ⋅ 2016/09/28 ⋅ 0

iOS10适配远程推送

iOS10正式版发布之后,网上各种适配XCode8以及iOS10的文章满天飞。但对于iOS10适配远程推送的文章却不多。iOS10对于推送的修改还是非常大的,新增了UserNotifications Framework,今天就结合...

北方人在上海 ⋅ 2016/09/18 ⋅ 0

iOS10 适配、Xcode8配置总结①

一、Xcode8 插件你去哪了 以为是和之前一样 Xcode 升级了,只需要更新 Xcode info.plsit 中的 DVTPlugInCompatibilityUUID,结果发现一点用都木有泪奔;苹果解决xcode ghost,把插件屏蔽了,为...

秦无炎 ⋅ 2016/09/21 ⋅ 0

Xcode8相关

Xcode8 新特性 Interface Builder 在Xcode8中,苹果推出了更加强大的可视化编辑工具预览功能,可以在不运行App的情况下,预览当前XIB或SB在不同屏幕尺寸下的显示。 选择一个XIB文件进去,点击...

KevinEmily ⋅ 2016/10/27 ⋅ 0

ios10 适配注意

1、权限问题。 报错:Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/......

卡奇匠 ⋅ 2016/09/21 ⋅ 0

iOS 10 新特性介绍(转载)

https://github.com/ChenYilong/iOS10AdaptationTips 1. iOS 10 新特性以及适配点 1.1 SiriKit 所有第三方应用都可以用Siri,支持音频、视频、消息发送接收、搜索照片、预订行程、管理锻炼等...

hell03W ⋅ 2016/09/14 ⋅ 0

iOS10 CAAnimationDelegate适配引申到条件编译

本文将围绕2个问题展开。 - iOS10 CAAnimationDelegate适配 - 条件编译 1、iOS10 CAAnimationDelegate适配 原因是动画的代理没有遵循协议。解决如下: 以为万事大吉?在X-code7打开运行编译报...

杭城小刘 ⋅ 2016/12/06 ⋅ 0

iOS10 适配、Xcode8配置总结②

Xcode8 新特性 Interface Builder 随着14年的iPhone6和6P出来之后,iPhone的屏幕尺寸也越来越多,屏幕适配是一个需要解决的问题,以后不一定苹果又出什么尺寸的iPhone呢。 在iPhone6和6P发布...

秦无炎 ⋅ 2016/10/25 ⋅ 0

iOS 高德地图百度地图实现后台定位

坐标体系 WGS84: 大地坐标系,广泛使用的 GPS 定位系统采用的坐标系. GCJ02: 火星坐标系,由中国测绘局对 WGS84进行加密后得到的坐标系. BD09: 百度坐标,针对火星坐标再次加密所得BD09II 位百度...

maker997 ⋅ 01/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HTML-基础

基础标签 标签简介 - 是由一对尖括号包裹的单词构成,如:<div></dicv>标签中的单词不能以数字开头- 标签不区分大小写,<html>和<HTML>都可,推荐小写- 标签分为两部分,开始标签<html>和结...

ZHAO_JH ⋅ 30分钟前 ⋅ 0

SylixOS在t_main中使用硬浮点方法

问题描述 在某些使用场景中,应用程序不使用动态加载的方式执行,而是跟随BSP在 t_main 线程中启动,此时应用代码是跟随 BSP 进行编译的。由于 BSP 默认使用软浮点,所以会导致应用代码中的浮...

zhywxyy ⋅ 34分钟前 ⋅ 0

JsBridge原理分析

看了这个Github代码 https://github.com/lzyzsd/JsBridge,想起N年前比较火的Hybrid方案,想看看现在跨平台调用实现有什么新的实现方式。代码看下来之后发现确实有点独特之处,这里先把核心的...

Kingguary ⋅ 46分钟前 ⋅ 0

Intellij IDEA神器常用技巧五-真正常用快捷键(收藏级)

如果你觉得前面几篇博文太啰嗦,下面是博主多年使用Intellij IDEA真正常用快捷键,建议收藏!!! sout,System.out.println()快捷键 fori,for循环快捷键 psvm,main方法快捷键 Alt+Home,导...

Mkeeper ⋅ 46分钟前 ⋅ 0

Java 静态代码分析工具简要分析与使用

本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能、特性等方面对它们进行分析和比较,...

Oo若离oO ⋅ 48分钟前 ⋅ 0

SpringBoot自动配置小记

spring-boot项目的特色就在于它的自动配置,自动配置就是开箱即用的本源。 不过支持一个子项目的自动配置,往往比较复杂,无论是sping自己的项目,还是第三方的,都是如此。刚接触会有点乱乱...

大_于 ⋅ 今天 ⋅ 0

React jsx 中写更优雅、直观的条件运算符

在这篇文字中我学到了很多知识,同时结合工作中的一些经验也在思考一些东西。比如条件运算符 Conditional Operator condition ? expr_if_true : expr_if_false 在jsx中书写条件语句我们经常都...

开源中国最帅没有之一 ⋅ 今天 ⋅ 0

vim编辑模式与命令模式

5.5 进入编辑模式 从编辑模式返回一般模式“Esc” 5.6 vim命令模式 命令 :“nohl”=no high light 无高亮,取消内容中高亮标记 "x":保存退出,和wq的区别是,当进入一个文件未进行编辑时,使...

弓正 ⋅ 今天 ⋅ 0

Python3+Selenium+Phantomjs短信轰炸

短信轰炸,顾名思义就是让目标手机号不断接收短信,造成手机卡顿。 为了实现轰炸效果强烈,这里用多线程实现。 from selenium import webdriverimport timefrom threading import Threa...

Eappo_Geng ⋅ 今天 ⋅ 0

MySQL 8下忘密码后重置密码的办法(MySQL5老方法不灵了)

MySQL密码重置思路 MySQL的密码是存放在user表里面的,修改密码其实就是修改表中记录。 重置的思路是是想办法不用密码进入系统,然后用数据库命令修改表user中的密码记录。 查了下,MySQL5系...

java高级架构牛人 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部