Xcode归档构建错误:归档缺少Bundle Identifier
Xcode归档提示“Archive Missing Bundle Identifier”排查方案
报错信息
Archive Missing Bundle Identifier
Domain: IDEArchivedApplicationErrorDomain
Code: 1
Failure Reason: Archive content at path /Users/solar/Library/Developer/Xcode/Archives/2023-12-27/Unity-iPhone 12-27-23, 9.04 PM.xcarchive/Products/Applications/merger game.app is missing a bundle identifer.
User Info: { DVTErrorCreationDateKey = "2023-12-28 02:04:15 +0000"; }
已尝试操作
- 编辑Info.plist文件
- 检查项目及Target的Build Settings、General标签页
- 确认未设置Scheme预操作(排除此解决路径)
额外排查步骤
1. 回溯Unity导出配置
因为是Unity-iPhone项目,先回到Unity编辑器:
- 打开
Edit → Project Settings → Player → iOS → Identification,确认Bundle Identifier填写正确,导出Xcode项目时保证该配置同步到位; - 导出时只勾选基础的“Export as Xcode Project”选项,避免特殊配置干扰。
2. 直接检查归档产物的Info.plist
- 找到报错路径里的
merger game.app文件,右键选择「显示包内容」,打开里面的Info.plist; - 查看是否存在
CFBundleIdentifier字段:- 没有的话手动添加该字段并填入正确的Bundle ID,之后重新归档;
- 有字段但内容为空/错误的话,修正后再尝试归档。
3. 核对Build Settings变量
- 进入Target的Build Settings,搜索
PRODUCT_BUNDLE_IDENTIFIER,确认值是直接填写的有效Bundle ID,而非未定义的变量引用(比如$(XXX)但XXX未配置); - 同时检查
INFOPLIST_FILE路径是否正确,确保Xcode编译时读取的是你修改的那个Info.plist。
4. 清理缓存后重新构建
- 执行
Product → Clean Build Folder(快捷键Shift+Command+K); - 打开Xcode设置(Settings)→ Locations → Derived Data,点击箭头打开文件夹后删除全部内容;
- 重启Xcode,重新执行归档操作。
5. 检查Target配置完整性
- 确认Target的General标签页「Identity」下的Bundle Identifier正确,且「Signing & Capabilities」里的Team与Bundle ID匹配;
- 如果项目有多个Target,逐个检查每个Target的Bundle ID配置,避免归档时打包了错误的Target。
内容的提问来源于stack exchange,提问作者Solar
相关产品推荐
相关产品推荐

