请排查PrivacyInfo.xcprivacy文件,解决ITMS-91053 API声明缺失警告
排查PrivacyInfo.xcprivacy未生效的常见问题
1. API声明的格式或字段出错
- 核对每个API类别的
NSPrivacyAccessedAPIType和NSPrivacyAccessedAPITypeReasons是否完全符合苹果要求:- 比如
NSPrivacyAccessedAPICategorySystemBootTime的理由必须用苹果指定的枚举代码(像CA92.1这类),不能自定义描述文本; - 检查JSON结构是否有语法问题,比如漏逗号、引号不配对,用在线JSON校验工具就能快速排查。
- 比如
2. 文件未正确嵌入主App Bundle
- 打开Xcode查看文件的Target Membership,只勾选主App目标,别误选扩展或其他子目标;
- 确认文件在
Build Phase的Copy Bundle Resources列表中,不在的话手动添加进去; - 打包后验证:右键IPA选择「显示包内容」,进入
Contents/Resources目录,确认PrivacyInfo.xcprivacy存在且内容正确。
3. 第三方库暗中调用了这些API
- 自己的代码没直接调用,但依赖的第三方SDK(比如统计、分析工具)可能在后台触发了这些API;
- 查看Podfile或第三方库文档,确认是否需要在你的隐私清单中替它们声明,或是库本身未提供隐私清单导致遗漏;
- 用
otool -L命令扫描IPA中的二进制文件,查找调用这些API的痕迹,定位来源。
4. 缓存或打包环境存在问题
- 清理Xcode缓存:执行
Product > Clean Build Folder,再删除Derived Data目录; - 重新生成归档文件,不要复用之前的旧归档;
- 检查App Store Connect是否有旧构建版本残留,确保提交的是最新的、包含正确隐私清单的构建。
5. 声明理由不符合苹果判定标准
- 即使添加了理由,苹果可能判定理由与实际使用场景不匹配;
- 比如
NSPrivacyAccessedAPICategoryUserDefaults如果仅用于存储应用配置,理由需用E174.1,若用于用户跟踪则需对应其他理由,必须严格匹配官方给出的理由代码和说明。
内容的提问来源于stack exchange,提问作者grzeg123
相关产品推荐
相关产品推荐

