Xcode 13无法编译依赖 报CompileSwiftSources非零退出码错误
Xcode双版本共存导致CompileSwiftSources编译失败的修复方案
错误提示
"Command CompileSwiftSources failed with a non-zero exit code"
问题原因
通过Xcodes工具同时安装Xcode 13、Xcode 14 beta版,引发双Xcode安装环境的系统配置、路径索引混乱。
故障影响
- 初期Xcode失去与SwiftUI Previews设备的连接
- 后续出现全量编译异常,所有模拟器从设备列表中消失
- 项目内每一项依赖编译时都会反复触发上述错误
已尝试的无效修复操作
- 将Xcode移至废纸篓卸载,甚至使用CleanMyMacX执行彻底卸载
- 手动清除所有可检索到的Xcode相关文件,包括执行命令
find / -path "*Xcode*" 2> /dev/null定位文件后删除 - 创建全新空白项目,将原有所有Swift文件迁移至新项目中编译
- 多次移除后重新添加所有项目依赖
有效修复步骤
- 重置Xcode命令行工具系统配置
打开终端依次执行以下命令,执行时按提示输入系统开机密码即可:sudo xcode-select --reset sudo rm -rf /Library/Developer/CommandLineTools - 清除所有Xcode用户态缓存与配置
终端执行以下命令,无需加sudo:rm -rf ~/Library/Developer/Xcode/DerivedData/* rm -rf ~/Library/Caches/com.apple.dt.Xcode/* defaults delete com.apple.dt.Xcode - 完全卸载所有已安装的Xcode版本
打开应用程序目录,将所有名称包含Xcode的应用安装包全部移入废纸篓,清空废纸篓后重启Mac。 - 单独安装目标版本Xcode
不要同时安装正式版与beta版,安装完成后首次启动Xcode,等待其自动完成组件安装、模拟器初始化全流程,不要中途强制退出程序。 - 校验命令行工具指向
打开Xcode设置页,进入Locations选项卡,确认Command Line Tools下拉菜单选中当前安装的对应Xcode版本,不存在空值或指向已删除路径的情况。 - 清理项目依赖后重新编译
若项目使用CocoaPods管理依赖,进入项目根目录终端执行:
打开项目后按下快捷键pod deintegrate pod installShift+Command+K执行工程清理,再启动编译即可恢复正常。
内容的提问来源于stack exchange,提问作者Arainty
相关产品推荐
相关产品推荐

