iOS17 隐私协议适配全流程
Privacy updates for App Store submissions
两句话总结:
- 你自己主工程得有一个PrivacyInfo.xcprivacy文件
- 你用到的第三方库,如果这个库是属于苹果隐私列表里的库,那就得加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文件
txt文件中会有哪些文件用到了什么API,哪些库需要做隐私适配
Privacyinfo.xcprivacy文件,已经生成好了相应的隐私清单,我们只需要添加进我们xcode工程
检查主工程中是否有Privacyinfo.xcprivacy文件存在
我们自己的工程就有了Privacyinfo.xcprivacy文件
用到的API,我们还需要填写reason(使用下面的网页工具)
打开www.privacymanifest.dev/
我们用到了 User Defaults和 System Boot Time两个API
我们就加这两个
reason选合适的就行
直接把35F9.1复制到我们工程的Privacyinfo.xcprivacy文件的reason中
填完reason后,我们的Privacyinfo.xcprivacy文件就变成这样了
到这里我们第一件事就完成了
第二件:
苹果隐私SDK列表
developer.apple.com/cn/support/…
如果使用到上面这些里面的SDK
那么就要给第三方SDK加入PrivacyInfo.xcprivacy文件
如果作者有更新,我们直接用最新的即可
比如SDWebImage
如果作者没更新,我们就自己在本地,加一个PrivacyInfo.xcprivacy文件到库里面去就行
遇到的问题
报错:
multiple commands produce privacyinfo.xcprivacy
原因:
就是第三方库和主工程的privacyinfo.xcprivacy冲突了
解决方案:
方案一:
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…