Xcode 16.1集成Apollo编译失败:缺失run-bundled-codegen.sh文件
解决Apollo Client SPM集成后缺失
run-bundled-codegen.sh的问题 可行解决方案
方案1:修正脚本路径指向SPM包内文件
- 打开项目的Build Phases,找到调用
run-bundled-codegen.sh的脚本阶段 - 将脚本中的路径替换为SPM包的实际存放路径:
"${BUILD_DIR%Build/*}SourcePackages/checkouts/apollo-ios/scripts/run-bundled-codegen.sh" - 保存设置后重新构建项目
方案2:改用全局Apollo CLI工具
- 通过Homebrew安装Apollo CLI:
brew install apollo-cli - 替换Build Phases中的代码生成脚本,直接使用全局
apollo命令:apollo codegen:generate --target swift --output-path Generated/GraphQLAPI.swift --schema schema.graphql **/*.graphql - 确认
schema.graphql文件路径和查询文件匹配,重新执行构建
方案3:手动添加脚本文件
- 从Apollo iOS仓库的
scripts目录获取run-bundled-codegen.sh文件 - 将文件复制到项目内的自定义目录(如
Scripts文件夹) - 修改Build Phases中的脚本路径,指向本地复制的文件
问题原因
Xcode 16.1的Swift Package Manager在处理Apollo Client最新版本时,因包结构更新或缓存异常,未完整拉取scripts目录下的辅助脚本文件,导致构建时无法找到指定的脚本。
内容的提问来源于stack exchange,提问作者Jael Ruvalcaba
相关产品推荐
相关产品推荐

