You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行从Swift Package安装apollo-ios-cli(CI/CD环境适配)

更可靠的apollo-ios-cli CI安装/调用方案

你的问题核心是依赖DerivedData随机目录导致不稳定,下面是两种更简便且可靠的替代方案:

方案1:直接通过Swift Package Manager运行cli(无需提前安装)

这是最省心的方式,不需要单独安装cli,直接在项目根目录通过swift run调用apollo-ios的cli命令,SPM会自动处理依赖构建:

# 在项目根目录执行
swift run apollo-ios-cli generate --schema-path ./path/to/your/schema.graphqls --targets YourTarget

注意:首次运行会构建cli,后续CI执行会复用缓存,速度不会有明显影响

方案2:将cli安装到固定路径(避免依赖DerivedData)

如果你的CI流程需要单独的cli二进制文件,可以通过插件的--output-path参数指定固定安装目录,不用再猜DerivedData路径:

# 在项目根目录执行,将cli安装到项目根目录的bin文件夹
swift package plugin apollo-cli-install --output-path ./bin

# 调用生成命令
./bin/apollo-ios-cli generate --schema-path ./path/to/your/schema.graphqls --targets YourTarget

这种方式把cli放到你可控的目录下,完全避免了DerivedData的路径不确定性。

为什么之前的方法不稳定?

DerivedData目录的后缀是Xcode自动生成的随机字符串,通配符匹配的结果顺序不一定固定,CI环境中如果存在多个历史构建缓存,很容易取到错误的目录,导致命令失败。

内容的提问来源于stack exchange,提问作者Yamamoto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 20:03:10