DCloud_UNI_Trust
DCloud_UNI_Trust
  • 发布:2017-12-11 19:09
  • 更新:2018-12-06 10:05
  • 阅读:17490

【文档】iOS云打包修改权限提示语

分类:HTML5+

打包提交appstore如果用到了如下权限需要修改提示语,详细描述使用这个权限的原因,如不修改提示语appstore审核可能会被拒绝。
Apple的原则是,如果一个app想要申请用户同意某个隐私信息访问许可,需要给用户明确的申请权限的原因,能给用户带来什么价值。
所以要求开发者填写这个原因,并且在iOS向手机用户弹出是否允许app访问某隐私信息时,会同时展示开发者填写的这个描述,以帮助用户判断,是否有必要同意这个app访问隐私信息。

iOS上的隐私信息包括:

  • 通讯录 NSContactsUsageDescription
  • 麦克风 NSMicrophoneUsageDescription
  • 相机 NSCameraUsageDescription
  • 相册(访问) NSPhotoLibraryUsageDescription
  • 相册(保存图片到相册) NSPhotoLibraryAddUsageDescription
  • 定位(使用时获取地理位置) NSLocationWhenInUseUsageDescription
  • 定位(持续获取地理位置) NSLocationAlwaysUsageDescription

    新版本IOS 11.3上对定位权限进行了合并 使用定位需要增加一个新的声明

  • 定位(iOS11.3及以上版本) NSLocationAlwaysAndWhenInUseUsageDescription
  • 蓝牙 NSBluetoothPeripheralUsageDescription
  • 语音转文字 NSSpeechRecognitionUsageDescription
  • 日历 NSCalendarsUsageDescription

设置方法如下:
使用视图方式打开manifest.json文件, 在plus->distribute->apple节点下添加plistcmds,数据类型为Array,
开发者可复制以下代码到manifest.json文件中并根据实际使用情况进行增减

"plus": {  
    "distribute": {  
      "apple": {  
        "plistcmds": [  
          "Set :NSContactsUsageDescription 说明读取用户通讯录的原因",  
          "Set :NSMicrophoneUsageDescription 说明使用麦克风的原因",  
          "Set :NSPhotoLibraryUsageDescription 说明读取用户相册的原因",  
          "Set :NSCameraUsageDescription 说明使用用户相机的原因",  
          "Set :NSPhotoLibraryAddUsageDescription 说明向用户相册添加图片的原因",  
          "Set :NSLocationAlwaysUsageDescription 说明持续获取用户地理位置的原因",  
          "Set :NSLocationWhenInUseUsageDescription 说明使用用户地理位置的原因",  
          "Set :NSLocationAlwaysAndWhenInUseUsageDescription 说明使用用户地理位置的原因"  
        ]  
      }  
    }  
  }  

更新:HBuilderX1.1起,在manifest可视化视图-模块权限配置里,可方便的输入提示语,不用再进代码视图操作
注意:

  • 通过上面方法修改提示语后需要重新打包,调试基座的提示语不会变化。
  • uni-app 中该节点位置与 5+ App 有所区别,其位置为 app-plus->distribute->ios->plistcmds。

举例说明

比如一个外卖应用,获取定位后需要展示附近的美食信息。那么,相应的定位权限描述,应当是类似“获取定位信息用于为用户提供附近的美食信息”这样的描述。而不应当是,“获取用户当前位置信息”这种没有明确描述定位用处的信息。

18 关注 分享
菜鸡 veelink xbguan@163.com 282874957@qq.com 11523110@qq.com 求道 chiyouhuo@sina.cn zy lhyh MooGu hebaulida@qq.com 349747884_qq@163.com 5个萝卜 286056474@qq.com andyweigh@126.com 老哥教教我 高司令 约学

要回复文章请先登录注册

sdas

sdas

回复 Finorix079: 哥哥,这个 单引号需要转义。
2018-12-06 10:05
M2

M2

回复 jtshushu: 这样差不多了,但也要看App Store 审核如何,要是他们觉得这样不够明确也不能过,相信现在你的App 已经上线了。
2018-10-30 21:33
M2

M2

回复 ilijiayin: 只有你设置的中文会有提示,英文是不显示的
2018-10-30 21:31
ilijiayin

ilijiayin

"Set :NSCameraUsageDescription xxxxxxxx" 英文描述始终不提示,有没有哪位提示成功的?
2018-10-25 17:34
秋天无风

秋天无风

说了那么多,怎么解决,也没有人说一下详细的。
2018-09-12 15:04
jtshushu

jtshushu

回复 前端_小白: 怎么解决的 能说一下吗
2018-09-07 09:32
jtshushu

jtshushu

回复 kekiskee: "Set :NSLocationAlwaysUsageDescription 为了给您推荐同城或附近地区新闻,需要您的位置信息",
这个 就这样吗
2018-09-07 09:31
772567199@qq.com

772567199@qq.com

好了解决了,还是用set,一直没加NSLocationAlwaysAndWhenInUseUsageDescription
2018-09-07 09:02
772567199@qq.com

772567199@qq.com

回复 lml.666666@163.com: NSLocationWhenInUseUsageDescription现在到底是用Set还是用Add啊,后面加不加string,为什么我测试包一直不生效呢
2018-09-07 03:02
772567199@qq.com

772567199@qq.com

回复 typer: NSLocationWhenInUseUsageDescription现在到底是用Set还是用Add啊,后面加不加string,为什么我测试包一直不生效呢,你是怎么弄的呢
2018-09-07 03:01
772567199@qq.com

772567199@qq.com

NSLocationWhenInUseUsageDescription现在到底是用Set还是用Add啊,后面加不加string,为什么我测试包一直不生效呢
2018-09-07 03:00
typer

typer

回复 lml.666666@163.com: 我的后来也好了。
2018-09-06 16:09
lml.666666@163.com

lml.666666@163.com

回复 typer: 我的可以了
2018-09-06 14:46
typer

typer

回复 Finorix079: 我试的地理位置信息提示设置也不生效
2018-08-16 14:03
849393770@qq.com

849393770@qq.com

回复 Finorix079: 我这连相机都无法调动,更不用又什么提示信息了,权限清单里没有相机这些权限列表,你那边能调用相机吗?
2018-08-14 10:30
Finorix079

Finorix079

您好,本地测试的地理位置信息提示无效,苹果商店那边也提示无效。不过反而是相机的提示在正常运作。有什么好的解决方案吗?

"plistcmds": [

"Set :NSCameraUsageDescription Your camera will be used for QR Code scanning purpose.",/*正常运作*/
"Set :NSLocationAlwaysUsageDescription Your location will be used for driver's navigation only.",/*无效*/
"Set :NSLocationWhenInUseUsageDescription Your location will be used for driver's navigation only.",/*无效*/
"Set :NSLocationAlwaysAndWhenInUseUsageDescription Your location will be used for driver's navigation only."/*无效*/
]
2018-08-04 08:02
DCloud_App_Array

DCloud_App_Array

回复 1009628609@qq.com: 首先确认在manifest.json的正确节点下添加了相关配置,如果不生效请听下应用的appid(manifest.json文件的id字段值)
2018-07-20 16:54
1009628609@qq.com

1009628609@qq.com

已经把打包好的ipa 提交给APPstore审核,还是没有提示文字,还是location,为什么呢
2018-07-20 16:37
1589446024@qq.com

1589446024@qq.com

回复 kekiskee: 请问您解决了吗
2018-07-19 15:49
1589446024@qq.com

1589446024@qq.com

回复 1327615383@qq.com: 您好,请问 解决了吗
2018-07-19 15:47
kaixing

kaixing

Push 推送 的plistcmds是什么了
2018-07-19 09:59
andyweigh@126.com

andyweigh@126.com

回复 616447247@qq.com: 没有,等官方新的解决方案
2018-07-10 16:25
616447247@qq.com

616447247@qq.com

回复 616447247@qq.com: 官方的人嘞,你们还在维护吗?
2018-07-09 20:33
616447247@qq.com

616447247@qq.com

回复 andyweigh@126.com: 你解决了吗?我现在也是不能发布啊!
2018-07-09 20:32
andyweigh@126.com

andyweigh@126.com

有无新的解决方案?按此法在线打包仍然无效。
2018-06-29 10:24
andyweigh@126.com

andyweigh@126.com

回复 水木杨: 解决了么?
2018-06-26 12:12
andyweigh@126.com

andyweigh@126.com

回复 Bridegroom777: 现在解决了么?
2018-06-26 12:09
andyweigh@126.com

andyweigh@126.com

回复 kekiskee: 一样的问题,也这么改了,云打包之后,提交审核还是没有生效,现在解决了么?
2018-06-26 12:09
andyweigh@126.com

andyweigh@126.com

回复 kekiskee: 我也一样,现在解决了么?
2018-06-26 12:06
andyweigh@126.com

andyweigh@126.com

回复 1048356176@qq.com: 这么改了,还是无效,提示仍然是 LocationAlwaysAndWhenInUse
2018-06-25 17:07
4668460@qq.com

4668460@qq.com

记录一下备用
2018-06-22 21:14
andyweigh@126.com

andyweigh@126.com

回复 前端_小白: 如何解决的啊?
2018-06-22 17:54
1327615383@qq.com

1327615383@qq.com

配置地理位置:
"plistcmds": [
"Set :NSLocationWhenInUseUsageDescription 根据用户位置保证用户安全",
"Set :NSLocationAlwaysUsageDescription 根据用户位置保证用户安全",
"Set :NSLocationAlwaysAndWhenInUseUsageDescription 根据用户位置保证用户安全"
],
但是显示的不是我的提示,而是locationAlways
2018-05-30 15:58
Bridegroom777

Bridegroom777

回复 DCloud_App_Array: 谢谢,我大概懂了问题的原因了,应该是我的描述太过模糊不够具体了。
2018-05-30 09:13
DCloud_App_Array

DCloud_App_Array

回复 Bridegroom777: 权限询问框按钮上的文字吗?这个是根据当前系统语言设置的。
2018-05-29 18:55
Bridegroom777

Bridegroom777

您好我想问一下我按照上面的修改了配置,但是它只修改了lacation的值,但是其他比如拒接,允许之类的全部都是英文,这个是什么情况啊?
2018-05-29 15:51
太2真人

太2真人

回复 水木杨: 解决了没,英雄
2018-05-29 08:58
Bridegroom777

Bridegroom777

麻烦帮我看一下为什么我的按照配置了,但是打包出来没效果啊 这是id:mingtiandao816.somorn.com
2018-05-28 10:45
DCloud_App_Array

DCloud_App_Array

回复 kekiskee: 新建应用将上述配置写入manifest.json文件中保存后提交云端打包验证显示的提示信息生效了呀。确认是否保存了manifest.json文件,如果还是不生效,请提供下appid,我们查看下后台打包日志确认下。
2018-05-25 18:20
水木杨

水木杨

回复 kekiskee: 我这边也是这样写的 没效果 显示locationAlwaysAndInUse 有没有解决
2018-05-25 16:15
kekiskee

kekiskee

回复 bishuihanshan: 我也一样 没有效果 直接变成locationAlwaysAndInUse
2018-05-25 12:02
kekiskee

kekiskee

回复 DCloud_UNI_Trust: "apple": {
"appid": "",
/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
"mobileprovision": "",
/*iOS应用打包配置文件*/
"password": "",
/*iOS应用打包个人证书导入密码*/
"p12": "",
/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
"devices": "universal",
/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
"frameworks": [],
"plistcmds": [
"Set :NSLocationAlwaysUsageDescription 为了给您推荐同城或附近地区新闻,需要您的位置信息",
"Set :NSLocationWhenInUseUsageDescription 为了给您推荐同城或附近地区新闻,需要您的位置信息",
"Set :NSLocationAlwaysAndWhenInUseUsageDescription 为了给您推荐同城或附近地区新闻,需要您的位置信息"
]
},测试包出来还是显示locationAlwaysAndInUse,怎么回事呢,没有效果
2018-05-25 12:02
kekiskee

kekiskee

回复 1348516637@qq.com: "apple": {
"appid": "",
/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
"mobileprovision": "",
/*iOS应用打包配置文件*/
"password": "",
/*iOS应用打包个人证书导入密码*/
"p12": "",
/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
"devices": "universal",
/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
"frameworks": [],
"plistcmds": [
"Set :NSLocationAlwaysUsageDescription 为了给您推荐同城或附近地区新闻,需要您的位置信息",
"Set :NSLocationWhenInUseUsageDescription 为了给您推荐同城或附近地区新闻,需要您的位置信息",
"Set :NSLocationAlwaysAndWhenInUseUsageDescription 为了给您推荐同城或附近地区新闻,需要您的位置信息"
]
},我的写了打测试包出来也没有效果
2018-05-25 12:01
kekiskee

kekiskee

我配置了但是还是不行,测试包IOS_debug.ipa里面的提示语总是显示一个 locationAlwaysAndInUse。这样我都不敢上架了。明明都已经配置好了。
2018-05-25 11:24
1348516637@qq.com

1348516637@qq.com

测试无效果呀
2018-05-21 12:14
DCloud_UNI_Trust

DCloud_UNI_Trust (作者)

回复 bishuihanshan: 已补充更新说明
2018-05-21 11:10
bishuihanshan

bishuihanshan

我今天想提交AppStore审核,发现提示变成了locationAlwaysAndInUse,应该是这个原因,我添加一下看,谢谢
2018-05-19 09:10
1048356176@qq.com

1048356176@qq.com

回复 1048356176@qq.com:  "apple": {
"appid": "com.gxlc.icloud.GXLCAPP",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
"mobileprovision": "/Users/jnmac1/Desktop/~~~/证书GXLC.p12",/*iOS应用打包配置文件*/
"password": "~~~~",/*iOS应用打包个人证书导入密码*/
"p12": "/Users/jnmac1/Desktop/~~~/证书GXLC.p12",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
"devices": "iphone",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
"frameworks": [],
"plistcmds": [
"Set: NSLocationWhenInUseUsageDescription 根据您的位置信息,您可随时掌握所在位置周边充电站的信息",
"Set: NSLocationAlwaysAndWhenInUseUsageDescription 根据您的位置信息,您可随时掌握所在位置周边充电站的信息",
"Set: NSLocationAlwaysUsageDescription 根据您的位置信息,您可随时掌握所在位置周边充电站的信息",
"Set: NSLocationUsageDescription 根据您的位置信息,您可随时掌握所在位置周边充电站的信息",
"Set: NSContactsUsageDescription 获取您的电话簿权限,帮您客服拨号",
"Set: NSPhotoLibraryUsageDescription 根据您的相册图片,您可以任意选择相片来更换您的头像",
"Set: NSCameraUsageDescription 调取您的相机摄像头,您可以扫码识别充电桩设备信息"
]
},
2018-05-18 16:23
1048356176@qq.com

1048356176@qq.com

没有效果啊
2018-05-18 16:22
星陨

星陨

配置试试看是否有用
2018-05-14 17:15
5个萝卜

5个萝卜

标记下
2018-05-12 00:03
349747884_qq@163.com

349747884_qq@163.com

以后可能会用到,先标记一下
2018-05-11 09:47
云钦

云钦

重点不是在中文注释,感觉官方没有描述清楚,这个代码是否经过有效测试,这么多人反馈无效,是不是哪里描述的不清楚呢
2018-05-02 21:12
云钦

云钦

回复 前端_小白: 怎么解决的,能分享一下吗
2018-05-02 21:09
waterbocai@qq.com

waterbocai@qq.com

我被拒绝了很多回。是不是非要离线打包啊:
"plus": {
"distribute": {
"apple": {
"appid": "com.szifind.zfy",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
"mobileprovision": "",/*iOS应用打包配置文件*/
"password": "",/*iOS应用打包个人证书导入密码*/
"p12": "",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
"devices": "universal",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
"frameworks": [],
"UIBackgroundModes":["audio","location"],
"plistcmds": [
"apple": {
"appid": "com.szifind.zfy",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
"mobileprovision": "",/*iOS应用打包配置文件*/
"password": "",/*iOS应用打包个人证书导入密码*/
"p12": "",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
"devices": "universal",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
"frameworks": [],
"UIBackgroundModes":["audio","location"],
"plistcmds": [
"Set :NSContactsUsageDescription 通过用户通讯录的快速拨打服务中心电话",
"Set :NSMicrophoneUsageDescription 使用麦克风以便快速语音输入",
"Set :NSPhotoLibraryUsageDescription 拍照上传需要读取用户相册",
"Set :NSCameraUsageDescription 电动车拍照/扫描需要使用用户相机",
"Set :NSPhotoLibraryAddUsageDescription 电动车拍照需要向用户相册添加图片",
"Set :NSLocationAlwaysUsageDescription 持续获取用户地理位置的以便用户方便查看与电动车的位置偏差",
"Set :NSLocationWhenInUseUsageDescription 获取用户地理位置的以便查看与电动车的位置偏差"
]
},


有什么建议。。。
2018-05-01 19:57
626019610@qq.com

626019610@qq.com

回复 chiyouhuo@sina.cn: 我也是同样的问题 NSLocationAlwaysUsageDescription
2018-04-26 18:06
292570927@qq.com

292570927@qq.com

回复 前端_小白: 我的也是,请问您解决了吗?
2018-04-26 17:14
chiyouhuo@sina.cn

chiyouhuo@sina.cn

"plistcmds": [
"Set :NSLocationAlwaysUsageDescription 我们将持续使用你的位置用于确定你在打卡考勤的范围内",
"Set :NSLocationWhenInUseUsageDescription 我们将使用你的位置为你提供就近服务与产品信息",
"Set :NSCameraUsageDescription 我们将使用你的照相机为你提供扫描与拍照办公功能"
]
这样的配置有问题吗,提交后一直邮件提示“必须包含一个NStrasePalaySaveSaleDebug关键字”
2018-04-26 15:11
前端_小白

前端_小白

回复 DCloud_UNI_Trust: 恩,已解决,感谢!!!
2018-04-12 01:27
752930345@qq.com

752930345@qq.com

请问您是怎么修改的?
"plistcmds":[
"NSCameraUsageDescription :app需要获取照片权限来保存图片"
] 这个为啥不生效呢?
2018-04-11 18:35
752930345@qq.com

752930345@qq.com

回复 hwedwin@126.com: 请问您是怎么修改的?
"plistcmds":[
"NSCameraUsageDescription :app需要获取照片权限来保存图片"
] 这个为啥不生效呢?
2018-04-11 18:34
752930345@qq.com

752930345@qq.com

回复 前端_小白: 解决了这个问题了吗,怎么改
2018-04-11 18:33
小白啊

小白啊

回复 DCloud_UNI_Trust: 我重新新建manifest.json发现没有找到这个节点?
2018-03-16 09:11
MooGu

MooGu

mark
2018-03-09 12:45
DCloud_UNI_Trust

DCloud_UNI_Trust (作者)

回复 前端_小白: 应苹果的要求,需要明确告知获取权限后的行为。参考文章的例子,明确告知用户相关信息,而不是告诉用户要获取定位信息这样笼统的概念。
2018-03-07 17:08
前端_小白

前端_小白

你好,我现在需要修改权限提示语,但是对于文章中的的讲解不是很清楚,我现在直接把“Set :NSLocationWhenInUseUsageDescription 说明使用用户地理位置的原因”修改为“Set :NSLocationWhenInUseUsageDescription 该应用需要您的地理位置,以便获取周围的伞机信息”,但是没有什么效果,请问是我这样配置错了吗?具体要怎么写呢,求帮助!!!
2018-03-07 17:02
wxf13675862119@163.com

wxf13675862119@163.com

回复 529743586@qq.com: 通过上面方法修改提示语后需要重新打包,调试基座的提示语不会变化
2018-02-08 11:12
wxf13675862119@163.com

wxf13675862119@163.com

回复 xbguan@163.com: 通过上面方法修改提示语后需要重新打包,调试基座的提示语不会变化
2018-02-08 11:11
hwedwin@126.com

hwedwin@126.com

Next Steps

To resolve this issue, please revise the permission modal alert to specify why the app is requesting access to the user's microphone.


嗯,提交了3次还是不通过。。。。
2018-01-29 10:20
可达蛙

可达蛙

试试
2018-01-26 09:32
xbguan@163.com

xbguan@163.com

你好,自测验证,IOS_debug.ipa文件,不生效. for appStore 的ipa,生效.
谢谢!
2017-12-27 15:44
xbguan@163.com

xbguan@163.com

自定义基座运行(先云打包成IOS_debug.ipa),并不生效,总是显示 Camera,请帮助!!
2017-12-27 14:43
529743586@qq.com

529743586@qq.com

配置了然后本地自定义基座调试文字说明没有变啊
2017-12-25 18:55