ITMS-90683:NSLocationAlwaysUsageDescription

由于苹果从iOS 11开始更新了定位权限设置,因此需要根据你适配的系统版本来配置info.plist文件

iOS 8 ~ iOS 10:

NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription

这里要注意:如果你需要使用NSLocationAlwaysUsageDescription使得应用在后台持续获取定位,那在提交审核时在备注向苹果审核方面阐述具体用途和目的,并在AppStoreConnect的说明中写上”后台后定位会消耗更多电量并影响电池续航时间“,有必要时甚至可以拍个视频更有说服力;如果你的应用并不需要在后台获取定位那就尽量使用前者,因为苹果很多时候认为只有”导航“类应用才需要使用后者。

iOS 11之后版本需要同时添加:

NSLocationAlwaysAndWhenInUseUsageDescription
NSLocationWhenInUseUsageDescription

如果需要同时适配iOS 8 ~ iOS 10和iOS 11+,建议同时添加:

NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
NSLocationAlwaysAndWhenInUseUsageDescription

另外,info.plist文件中value也同样重要,例如很多人首次上架时会这么配置:

<key>NSLocationWhenInUseUsageDescription</key>
<string>是否允许使用您的定位?</string>

这样的描述是不允许的,苹果要求必须详细描述在给予定位权限后给用户带来的实际功能改变
改成以下配置即可:

<key>NSLocationWhenInUseUsageDescription</key>
<string>是否允许在使用过程中获取您的定位信息用于展示附近商家?</string>

如果本文对你有所帮助记得点个赞哈

推荐阅读更多精彩内容