XCode 11构建iOS Swift项目失败:CombineDataSources进程启动错误
这种升级Xcode后旧项目Pods出问题的情况我碰过好几次,特别是搁置了一年的项目,常规的清理、pod操作不管用的话,试试下面这些针对性的方案:
检查CombineDataSources的Build Settings路径配置
升级Xcode后,Pods里的目标很可能残留了旧的硬编码路径配置。打开你的xcworkspace,找到Pods项目下的CombineDataSources目标,进入Build Settings面板:- 查看Runpath Search Paths和Framework Search Paths,确认没有指向旧版Xcode的绝对路径,比如
/Applications/Xcode_13.app/...这类,统一改成$(inherited)或者默认的相对路径。 - 检查
Build Phases里的自定义脚本,如果有引用旧Xcode路径的地方,替换成$(DEVELOPER_DIR)变量。
- 查看Runpath Search Paths和Framework Search Paths,确认没有指向旧版Xcode的绝对路径,比如
重新指定Xcode命令行工具
升级Xcode后,系统默认的命令行工具可能还停留在旧版本,这会导致Pods构建时找不到正确的进程路径。打开终端执行:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer执行完后完全关闭Xcode,再重新打开项目尝试构建。
更新CombineDataSources到兼容新版Xcode的版本
一年没维护的项目,你用的CombineDataSources版本大概率和新版Xcode的iOS SDK不兼容。打开Podfile:- 如果之前指定了固定版本,比如
pod 'CombineDataSources', '1.0.0',可以替换成该库最新的兼容版本号。 - 如果没指定版本,直接执行
pod update CombineDataSources,让CocoaPods拉取最新兼容版本,之后再执行pod install。
- 如果之前指定了固定版本,比如
手动清理CombineDataSources目录后重装
有时候pod install不会彻底替换旧的缓存文件,手动清理更彻底:- 完全关闭Xcode
- 进入项目根目录下的
Pods文件夹,删除CombineDataSources整个目录 - 终端执行
pod install - 重新打开xcworkspace进行构建
修复Pods目录的权限问题
极少数情况下,Xcode没有足够权限访问Pods目录会导致进程无法启动。可以右键项目的Pods文件夹,选择「显示简介」,确保当前用户拥有「读与写」权限;或者终端执行:sudo chown -R $(whoami) /path/to/your/project/Pods替换成你项目的实际路径即可。
重置Xcode偏好设置(谨慎操作)
如果以上方法都没用,可能是Xcode的偏好缓存出了问题。终端执行:defaults delete com.apple.dt.Xcode这个命令会重置Xcode的所有偏好设置(包括布局、快捷键等),执行后重启Xcode再尝试构建。
内容的提问来源于stack exchange,提问作者Tio




