iOS国际化的“未解之谜”

在最近一次项目iOS提交审核过程中,遇到一个“未解之谜”:
重点:Invall


image.png

邮件的意思比较明确,App中使用了【定位】和【蓝牙】的相关API,隐私涉及到用户隐私权限使用。需要在App的Info.plist 文件中解释说明使用该功能的目的和原因。
然而,当打开Info.plist文件才觉得事情没那么简单。
那么接下来一起来看下Info.plist文件:


image.png

image.png

由于项目是多语言的环境,所以隐私描述添加在InfoPlist.string的国际化文件中。其它语言的国际化就不再展示了。有国际化需要的同学可以自己查找其它的国际化介绍资料。
检查发现,NSLocationAlwaysUsageDescriptionString和NSBluetoothAlwaysUsageDescription,这两项都正确添加,并且有明确的说明。

看到这里,如果有相同问题的同学可放心的接着往下看了~
经过几番资料查证,终于在Apple Developer Forums 看到有这样一个问题 Invalid value for purpose string in info.plist。苹果官方的员工进行了回答

It’s unusual to use the NSLocationXXX keys as values. Normally you set the value in the Info.plist to be that of your development language.

通常情况下苹果是不允许我们使用NSLoation 开头的之类的String 作为国际化文件infoPlist.String中的key .

问题找到了就很好解决了,在Info.plist文件进行调整,问题解决。


image.png

简单的日常记录,希望对各位同学有一丝帮助。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容