Mac M1 Pro Xcode14.3.1:Derived Data缺失引发随机编译错误求助
针对M1 Pro上随机编译缺失文件问题的解决方案
清理Derived Data缓存
- 终端执行命令:
rm -rf ~/Library/Developer/Xcode/DerivedData - 或者通过Xcode操作:打开Xcode > 点击顶部菜单栏
Xcode > Settings > Locations,找到Derived Data项点击右侧箭头打开文件夹,删除所有内容 - M1架构下Xcode的缓存偶尔会残留跨架构编译的冗余文件,清理后会强制重新生成完整的编译产物
- 终端执行命令:
重置Swift Package Manager缓存
- 终端依次执行:
rm -rf ~/Library/Caches/org.swift.swiftpm swift package clean - SPM的缓存可能在M1原生/ Rosetta兼容模式切换时出现数据不一致,重置后会重新解析并下载依赖的完整 artifacts
- 终端依次执行:
确认Xcode运行模式为M1原生
- 右键Dock里的Xcode图标 > 选择
获取信息> 取消勾选使用Rosetta打开 - 重启Xcode后重新编译项目
- 混用Rosetta和原生模式会导致依赖编译产物的路径或架构不匹配,是随机出现缺失文件错误的常见原因
- 右键Dock里的Xcode图标 > 选择
强制刷新项目依赖
- 在Xcode里点击顶部菜单栏
File > Packages > Reset Package Caches - 再执行
File > Packages > Update to Latest Package Versions - 部分依赖的工具文件可能因网络波动或架构兼容问题下载不完整,重置缓存后重新拉取可修复
- 在Xcode里点击顶部菜单栏
检查项目架构配置
- 打开项目的Build Settings,确认项目和所有Target的
Architectures设置为Standard Architectures (arm64, x86_64)或仅arm64(M1原生) - 避免手动指定非标准架构,防止依赖编译时生成不兼容的产物
- 打开项目的Build Settings,确认项目和所有Target的
内容的提问来源于stack exchange,提问作者Ajay Girolkar
相关产品推荐
相关产品推荐

