升级macOS Sonoma后Xcode+CocoaPods编译报Unexpected Failure错误求助
解决macOS Sonoma 14.2.1 + Xcode 15.1下CocoaPods Swift项目构建"Unexpected Failure"问题
问题根源
macOS Sonoma 14.2.1更新后,系统自带的realpath命令参数规则发生变化,CocoaPods生成的资源脚本(如./Pods/Target Support Files/Pods-APPLICATION/Pods-APPLICATION-resources.sh)中on_error函数里的realpath -mq属于非法参数组合,导致脚本报错,同时掩盖了触发on_error的真实构建问题。
解决方案
1. 临时修复生成的脚本(应急用)
找到对应的resources.sh文件,定位到on_error函数里的这行代码:
local FILE=$(realpath -mq "$0")
将-mq修改为-m,保存后重新构建。注意:执行pod install或pod update后,这个修改会被覆盖,仅作为临时应急方案。
2. 升级CocoaPods到最新稳定版
CocoaPods官方已经针对Sonoma系统的realpath参数问题发布了修复版本,执行以下命令升级:
sudo gem install cocoapods
升级完成后,执行pod deintegrate彻底移除旧的Pod配置,再重新执行pod install生成适配新系统的脚本。
3. 排查真实构建错误
当修复realpath参数问题后,构建时会显示触发on_error的真实原因,常见的情况包括:
- 资源文件路径包含特殊字符或空格
- Swift依赖库的版本与Xcode 15.1不兼容
- 项目的Swift编译配置(如Swift版本)与Pod库不匹配
根据具体报错信息针对性调整即可。
4. 清理缓存确保生效
- 清理Xcode缓存:按下
Cmd+Shift+K清理项目构建缓存,再前往~/Library/Developer/Xcode/DerivedData删除对应项目的Derived Data文件夹 - 清理CocoaPods缓存:执行
pod cache clean --all
内容的提问来源于stack exchange,提问作者KonaCurrents
相关产品推荐
相关产品推荐

