2024年5月1日起,iOS 审核隐私协议PrivacyInfo.xcprivacy适配

1,160 阅读2分钟

iOS17 隐私协议适配全流程

Privacy updates for App Store submissions

两句话总结:

  1. 你自己主工程得有一个PrivacyInfo.xcprivacy文件
  2. 你用到的第三方库,如果这个库是属于苹果隐私列表里的库,那就得加privacyinfo.xcprivacy文件(要么就是库作者直接加,我们用更新后的库,要么自己download到本地,自己加)

干两件事

第一件:给自己工程添加PrivacyInfo.xcprivacy文件 第二件:给第三方库加privacyinfo.xcprivacy文件

毕竟这都4202年了,能让代码干的事的就代码干 让英雄去查英雄,让好汉去查好汉,让代码去查代码

第一件:

首先我们下载python工具:github.com/kimbely0320…
这个工具可以知道工程里面用了哪些API

全局装个python3
cd update_privacy_info.py-main
python3 update_privacy_info.py /Users/ly/xxx/xx(项目路径)
运行这个工具,会在项目中得到一个txt文件,一个Privacyinfo.xcprivacy文件 image.png
txt文件中会有哪些文件用到了什么API,哪些库需要做隐私适配

Privacyinfo.xcprivacy文件,已经生成好了相应的隐私清单,我们只需要添加进我们xcode工程 image.png



检查主工程中是否有Privacyinfo.xcprivacy文件存在 image.png

我们自己的工程就有了Privacyinfo.xcprivacy文件 image.png

用到的API,我们还需要填写reason(使用下面的网页工具) 打开www.privacymanifest.dev/ image.png

我们用到了 User Defaults和 System Boot Time两个API 我们就加这两个 image.png

reason选合适的就行 image.png

直接把35F9.1复制到我们工程的Privacyinfo.xcprivacy文件的reason中 image.png

填完reason后,我们的Privacyinfo.xcprivacy文件就变成这样了 image.png

到这里我们第一件事就完成了

第二件:

苹果隐私SDK列表 developer.apple.com/cn/support/… 如果使用到上面这些里面的SDK
那么就要给第三方SDK加入PrivacyInfo.xcprivacy文件
如果作者有更新,我们直接用最新的即可
比如SDWebImage image.png

如果作者没更新,我们就自己在本地,加一个PrivacyInfo.xcprivacy文件到库里面去就行

遇到的问题

报错:
multiple commands produce privacyinfo.xcprivacy
原因:
就是第三方库和主工程的privacyinfo.xcprivacy冲突了 image.png

解决方案:
方案一:
pod 'SVProgressHUD', :git => "github.com/SVProgressH…"
方案二:
自己本地download下来,修改podspec文件

参考:

developer.apple.com/news/?id=r1…
developer.apple.com/cn/support/…
developer.apple.com/documentati…
blog.csdn.net/lyh10839084…
mp.weixin.qq.com/s?__biz=Mzg…
juejin.cn/post/731187…
juejin.cn/post/736572…
github.com/kimbely0320… //自动检测工具
www.privacymanifest.dev/ //隐私清单生成器
stackoverflow.com/questions/7…