本帖最后由 jswift 于 2016-9-26 03:15 编辑

iOS 10的一大变化是更强的隐私数据保护。在文档中是这么描述的:

You must statically declare your app’s intended use of protected data classes by including the appropriate purpose string keys in your Info.plist file.

简单的说访问用户数据都需要现在Info.plist中声明,否则会crash。

兼容iOS 10:配置获取隐私数据权限声明 1

兼容iOS 10:配置获取隐私数据权限声明 Privacy Settings in iOS 10 - 敏捷大拇指 - 兼容iOS 10:配置获取隐私数据权限声明 1


这些用户数据包括:

Contacts, Calendar, Reminders, Photos, Bluetooth Sharing, Microphone, Camera, Location, Health, HomeKit, Media Library, Motion, CallKit, Speech Recognition, SiriKit, TV Provider.

兼容iOS 10:配置获取隐私数据权限声明 2

兼容iOS 10:配置获取隐私数据权限声明 Privacy Settings in iOS 10 - 敏捷大拇指 - 兼容iOS 10:配置获取隐私数据权限声明 2


10之前只需要获取位置时配置,现在更严格了,比如需要调用相册访问权限,也需要在Info.plist中配置privacy。

好在这些key的名字在Xcode 8中已经有了自动补全。添加一个属性,输入Privacy后就会出现自动提示:

兼容iOS 10:配置获取隐私数据权限声明 3

兼容iOS 10:配置获取隐私数据权限声明 Privacy Settings in iOS 10 - 敏捷大拇指 - 兼容iOS 10:配置获取隐私数据权限声明 3


后面填的string会在弹出用户允许时展示在描述里。谢谢@Nidom提醒,如果描述空着提交AppStore时会拒绝。

兼容iOS 10:配置获取隐私数据权限声明 4

兼容iOS 10:配置获取隐私数据权限声明 Privacy Settings in iOS 10 - 敏捷大拇指 - 兼容iOS 10:配置获取隐私数据权限声明 4





相关内容:

兼容iOS 10:配置获取隐私数据权限声明 Privacy Settings in iOS 10

兼容iOS 10:资料整理笔记

兼容iOS 10:适配iOS10以及Xcode8

兼容iOS 10:iOS 10 的适配问题

我会在敏捷大拇指 Swifthumb.com 上陆续发布iOS10兼容适配方面的帖子,敬请期待。

欢迎大家订阅我的淘帖《兼容iOS 10 适配 自适应




原文:Privacy Settings in iOS 10

相关资料:WWDC 2016 Session 709 Engineering Privacy for Your Users

相关资料:Full list of Info.plist keys

译者:@没故事的卓同学