Xcode新建项目安装pod后构建报Multiple commands produce错误
报错核心原因
Xcode默认使用的新构建系统检测到AppDelegate、SceneDelegate对应的编译产物存在重复生成规则,本质是对应源文件/资源文件被重复加入了项目的编译队列,大概率是安装pod依赖时意外修改了项目的编译资源配置导致的。
排查解决步骤
- 优先执行缓存清理:关闭Xcode,打开终端执行命令
rm -rf ~/Library/Developer/Xcode/DerivedData清理构建缓存,进入项目根目录执行pod deintegrate && pod install重新集成pod依赖,重启Xcode后再次构建,80%的轻度配置冲突该操作即可解决。 - 检查编译源重复条目:打开Xcode项目,选中根项目文件,选中Demo Target,切换到Build Phases标签页,展开Compile Sources列表,搜索AppDelegate、SceneDelegate,确认两个文件是否各出现了2次,删除多余的重复条目即可。
- 检查资源包重复条目:如果编译源没有重复,展开Copy Bundle Resources列表,搜索同名文件,排查是否有重复添加的本地化strings资源,删除重复条目。
- 排查第三方pod冲突:如果上述操作都无效,逐一移除最近新增的pod依赖后重新构建,确认是否是第三方pod引入了同名的源文件/资源文件导致冲突,确认冲突pod后替换为其他同类组件,或修改podspec排除冲突资源。
- 临时应急方案:如果需要快速绕过问题完成构建,可点击Xcode顶部菜单File > Project Settings,将构建系统从默认的New Build System切换为Legacy Build System,即可跳过重复检测完成构建,该方案仅作为临时应急使用,不建议长期开启。
内容的提问来源于stack exchange,提问作者Anvil
相关产品推荐
相关产品推荐

