如何在Xcode Cloud流水线中修改构建配置?
问题背景
- 使用Xcode Cloud实现CI/CD
- 应用包含三种构建配置:Debug、Stage、Release
- 已在Xcode Cloud配置两条流水线:Stage、Release
- 归档阶段默认构建配置为Release,相关截图:


触发Stage流水线时,系统仍以Release配置执行归档,目前无法找到直接为流水线设置构建配置的入口。
如何在Xcode Cloud流水线中修改构建配置?
解决方法
方法1:为不同流水线创建对应Scheme
- 打开Xcode,点击顶部状态栏的Scheme,选择
Edit Scheme... - 点击
Duplicate Scheme,复制出一个新的Scheme(比如命名为YourApp-Stage) - 在新Scheme的
Archive阶段,右侧Build Configuration下拉菜单选择Stage,保存Scheme - 进入Xcode Cloud的Stage流水线配置页面,将构建步骤中的Scheme改为刚才创建的
YourApp-Stage
方法2:使用自定义CI脚本指定配置
- 在项目根目录创建
ci_scripts文件夹,新建ci_pre_xcodebuild.sh脚本 - 写入以下内容(替换
YourApp为你的项目Scheme名称):
#!/bin/sh set -e # 根据流水线名称切换构建配置 if [ "$CI_WORKFLOW_NAME" = "Stage" ]; then export BUILD_CONFIG="Stage" else export BUILD_CONFIG="Release" fi # 覆盖默认归档命令 xcodebuild archive -scheme YourApp -configuration "$BUILD_CONFIG" -archivePath "$CI_ARCHIVE_PATH"
- 给脚本添加执行权限:
chmod +x ci_scripts/ci_pre_xcodebuild.sh - 在Xcode Cloud的流水线配置中,禁用默认的归档步骤,改为执行该自定义脚本
方法3:通过流水线环境变量配置
- 进入Xcode Cloud的Stage流水线设置页面,添加自定义环境变量
BUILD_CONFIGURATION,值设为Stage - 同样给Release流水线添加该变量,值设为
Release - 修改项目的Scheme,在
Archive阶段的构建配置中引用该变量,或者在自定义脚本中读取$BUILD_CONFIGURATION来执行对应构建命令
如果你的Xcode Cloud流水线编辑页面中,构建步骤有Build Configuration的可选下拉框,也可以直接在这里选择对应配置(部分版本的Xcode Cloud支持该选项)。
内容的提问来源于stack exchange,提问作者Ramis
相关产品推荐
相关产品推荐

