背景
APP提交审核后,邮箱收到了ITMS-91053: Missing API declaration
的提示,查看后,发现是缺少隐私清单的提醒。如下图:
网上查阅了之后,发现,只有腾讯的这篇 苹果隐私策略:PrivacyInfo.xcprivacy,比较合用,再结合下面的图片,就可以看出用法,和对应 key 的意义。
创建 PrivacyInfo.xcprivacy 文件
选中项目一个目录,Command + N 新建文件,搜索 Privacy
,然后选择类型App Privacy
,点击 Next,再勾选要添加的Target(这里使用默认的文件名称 PrivacyInfo.xcprivacy
),最后点击 Create,如下图:
然后选中新建 PrivacyInfo.xcprivacy 文件,右键选择 Open As -> Source Code,如下图:
然后参考腾讯的这篇苹果隐私策略:PrivacyInfo.xcprivacy,拷贝里面的内容,可以参照邮件提醒缺失的key,选择添加到PrivacyInfo.xcprivacy
中,附录内容如下:
- PrivacyInfo.xcprivacy 文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>
最后
参照上面理解对应 key的意义,然后明确使用方法,再结合项目实际情况,用到了哪些,添加哪些。然后打包提交 APP,送审后,如果收到邮件提示,然后按照提示里提醒缺失了哪些 key,再补充添加即可。
注意如果是用了pushExtension 或者 widget 之类的,也需要添加 PrivacyInfo.xcprivacy 文件,和上面的步骤类似参考邮件提醒缺失的key,选择添加到 PrivacyInfo.xcprivacy 中。