文章来的有点晚,都已经ios18了
苹果在ios17要求配置隐私清单 苹果隐私SDK列表
由于我自己之前一直写uniapp 就没去考虑这些配置的东西,现在回头写原生,昨晚上线提交审核收到邮件
意思就是需要配置隐私清单,MBP更新日志显示1.2.0增加隐私清单,但是我cocoapods导入的版本里并不包含隐私清单文件。文章结尾针对第三方处理。
AFN 需要自己配置了,这玩意 github上看已经1年没更新了。
原文借鉴地址,不知道是不是API更新了,我在配置过程中又出现了新问题。往下看!
由于第一次用脚本,所以犯了些傻瓜操作。为了避免有跟我一样的人,,就出个傻瓜包教程
1:获取脚本
脚本地址:update_privacy_info.py
先下载脚本
下载到桌面备用
2.安装pyhon工具
我这里Mac OS 已经存在pyhon3
没有安装的可以参考这里
2.1查看本地环境
终端依次运行
python3 --version
pip3 --version
输出结果
Python 3.9.6
pip 24.2 from /Users/caiyingjia/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)
2.2 更新pip
pip3 install --upgrade pip
得到结果
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pip in ./Library/Python/3.9/lib/python/site-packages (24.2)
2.3 导入 chardet
如果你按着官网文档 直接 import chardet 你将得到,什么鬼?没有这样的命令。。不要着急,往下看
zsh: command not found: import
2.3.1 首先你需要先执行 python3
python3
然后
import chardet
下图示例:
Python 3.9.6 (default, Mar 29 2024, 10:51:09)
[Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import chardet
>>>
到这里工具就安装完成了,你可以关闭你的终端了。
3:安装脚本
终端cd 将第一步下载的脚本文件夹拖进来,然后回车然后执行
python3 update_privacy_info.py XXXX(项目文件夹拖进来)
示例:回车执行脚本, 然后就是y/n 输入y 回车, 过滤我是直接回车了,没有可过滤的。
很明显,我引入的AFN 是没有隐私清单的,将生成的PrivacyInfo 文件,我们直接拖进项目里
借原作者一张图 !
4.补充数据
红框内数据怎么来?
魔法入口(https://www.privacymanifest.dev/)
在这里选择咱们PrivacyInfo文件中涉及到的PAI名称
我这里 只有关于 User Defaults 的
所以选择 User Defaults APIs
复制CA92.1 填写到PrivacyInfo文件内就可以了,其他信息自动生成。
5.缺少的配置项
然后打包上传ipa,依然收到苹果邮件提醒了。我觉得这邮件提醒与KEY的缺少没关系,因为收到了还是AFN与MBP两个第三方的问题。另外不清楚是API的更新还是脚本的不完善,会出现缺少KEY值的问题。
第一步:
第二步:
导出文件为PDF,我们打开直接看最底部
第三步:
找到我们之前脚本创建的PrivacyInfo文件,添加这个缺少的key
好了。现在就不会报错了。
还有最后一步需要搞一下。
文章开头我们说过 苹果隐私SDK列表
大名鼎鼎的AFN赫然在列,而且脚本也确实提示我们AFN没有配置隐私清单(截止24年9月30日依旧没有)
6.配置第三方SDK
主流第三方目前都已经适配完毕了,毕竟ios18都蹦跶出来了。
OK,打包上传。。