生成隐私报告时归档缺失PrivacyInfo.xcprivacy的报错解决问询
解决Xcode归档生成隐私报告时缺失PrivacyInfo.xcprivacy的问题
问题重现
执行Generate Privacy Report操作时触发报错:
The archive does not contain any "PrivacyInfo.xcprivacy" files
已尝试的调试操作:
- 在Xcode 15 beta 5中创建并确认PrivacyInfo.xcprivacy正常加载,置于Info.plist同级目录,配置框架目标成员后归档,通过命令行打包.xcframework,但文件未出现在.xcframework中,报错依旧
- 切换至Xcode 15 Beta 8及RC版本,针对RestSDK.framework和RestAPI.framework两个目标,重新创建隐私清单、调整目标成员,日志显示文件已复制至归档框架,但生成隐私报告仍报相同错误
核心解决步骤
- 检查Build Phases配置:确保PrivacyInfo.xcprivacy被添加到
Copy Bundle Resources阶段,而非仅勾选Target Membership。仅勾选成员资格可能不会触发复制操作,手动拖入该阶段可确保文件被打包进框架。 - 验证命令行打包参数:使用
xcodebuild -create-xcframework时,确认每个框架路径指向已归档且包含PrivacyInfo.xcprivacy的框架包,而非未归档的中间产物。可先手动查看归档目录下的框架内容,确认文件存在后再执行打包命令。 - 清理缓存重新构建:执行
Product > Clean Build Folder,删除DerivedData目录,再重新归档。Xcode缓存可能导致旧产物重复使用,清理后可确保最新隐私清单被打包。 - 验证文件格式有效性:用
plutil -lint PrivacyInfo.xcprivacy命令检查隐私清单的plist语法,避免因格式错误被Xcode忽略。
PrivacyInfo.xcprivacy的正确位置
- 归档内的框架包:与Info.plist同级,位于
[框架名].framework/Versions/A/Resources/(通用框架结构),或直接在[框架名].framework/Resources/(非版本化结构)。 - xcframework内:每个平台的框架子目录中,路径为
[xcframework包]/[平台]/[框架名].framework/Resources/,同样与Info.plist处于同一Resources目录下。
内容的提问来源于stack exchange,提问作者ashokds
相关产品推荐
相关产品推荐

