You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

XCode 11构建iOS Swift项目失败:CombineDataSources进程启动错误

解决Xcode升级后Pods目标无法spawn进程的问题

这种升级Xcode后旧项目Pods出问题的情况我碰过好几次,特别是搁置了一年的项目,常规的清理、pod操作不管用的话,试试下面这些针对性的方案:

  • 检查CombineDataSources的Build Settings路径配置
    升级Xcode后,Pods里的目标很可能残留了旧的硬编码路径配置。打开你的xcworkspace,找到Pods项目下的CombineDataSources目标,进入Build Settings面板:

    • 查看Runpath Search PathsFramework Search Paths,确认没有指向旧版Xcode的绝对路径,比如/Applications/Xcode_13.app/...这类,统一改成$(inherited)或者默认的相对路径。
    • 检查Build Phases里的自定义脚本,如果有引用旧Xcode路径的地方,替换成$(DEVELOPER_DIR)变量。
  • 重新指定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不会彻底替换旧的缓存文件,手动清理更彻底:

    1. 完全关闭Xcode
    2. 进入项目根目录下的Pods文件夹,删除CombineDataSources整个目录
    3. 终端执行pod install
    4. 重新打开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

火山引擎 最新活动