Trust
Trust
  • 发布:2017-12-11 19:09
  • 更新:2024-04-12 10:54
  • 阅读:45468

【文档】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可视化视图-模块权限配置里,可方便的输入提示语,不用再进代码视图操作

注意:

  • 通过上面方法修改提示语后需要重新打包,调试基座的提示语不会变化。

举例说明

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

21 关注 分享
菜鸡 veelink x***@163.com 2***@qq.com 1***@qq.com 求道 c***@sina.cn 禾禾禾禾 lhyh MooGu h***@qq.com 3***@163.com 5个萝卜 2***@qq.com a***@126.com 老哥教教我 高司令 么也不说了 3***@qq.com haha2021a c***@163.com

要回复文章请先登录注册

1***@qq.com

1***@qq.com

回复 h***@qq.com :
有点东西啊,我照你这样写还真的可以,感谢感谢
2019-09-26 18:18
1***@qq.com

1***@qq.com

回复 h***@qq.com :
你这样有用吗
2019-09-26 17:41
1***@qq.com

1***@qq.com

为什么我这样配置了,获取相机的提示不是我写的这个提示呢,好像是显示默认的提示,没差哪啊,为什么不显示我配置的内容呢
2019-09-26 17:39
h***@qq.com

h***@qq.com

回复 w***@163.com :
同学,现在通过了没呢?我正在等审核,看你这个答复我心里没底呢,求经验。
2019-04-08 11:22
h***@qq.com

h***@qq.com

用HBuilderX编辑manifest.json,会有可视化编辑IOS权限的页面。通过该页面修改内容,保存后,manifest.json中生成的内容如下:
"plus": {
"distribute": {
"apple": {
"privacyDescription" : {
"NSPhotoLibraryUsageDescription" : "选择需要上传的图片,用于...",
"NSCameraUsageDescription" : "拍照并上传,,用于...",
"NSLocationWhenInUseUsageDescription" : "获取您的地理位置,用于...",
"NSLocationAlwaysUsageDescription" : "获取您的地理位置,用于...",
"NSLocationAlwaysAndWhenInUseUsageDescription" : "获取您的地理位置,用于..."

}
}
}
}

使用苹果测试证书打出的包,在我手机上测试通过,正式包正在审核中。
以上,供各位参考。
2019-04-08 11:08
w***@163.com

w***@163.com

"privacyDescription" : {
"NSPhotoLibraryUsageDescription" : "车信保将使用您的相册用于头像和投诉图片信息上传",
"NSCameraUsageDescription" : "车信保将使用您的摄像头用于头像拍照和投诉信息拍照上传",
"NSLocationWhenInUseUsageDescription" : "车信保将使用您的位置定位用于推荐附近的汽车服务机构",
"NSLocationAlwaysUsageDescription" : "车信保将使用您的位置定位用于推荐附近的汽车服务机构",
"NSLocationAlwaysAndWhenInUseUsageDescription" : "车信保将使用您的位置定位用于推荐附近的汽车服务机构"
}
用Hbuilderx 1.7进行ios云打包,源码里有这些信息,但是依然审核不通过,请大神帮助,急,急,急!!!!
2019-03-26 09:40
天空中的猪

天空中的猪

回复 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