如何配置codemagic.yaml实现Codemagic自动构建Flutter iOS IPA
Flutter项目Windows环境下Codemagic自动化构建iOS IPA配置指引
你已经在Codemagic网页端手动构建成功过,说明iOS签名证书、描述文件、项目基础配置都已经验证可用,直接按下面步骤配置yaml即可实现自动化。
前置确认项
- 记好你之前手动构建时用的iOS包名、Codemagic后台存储的p12证书名称、对应描述文件的类型(App Store/Ad Hoc/开发版)
- 项目代码已经托管到Codemagic支持的Git平台(GitHub/GitLab/Gitee等)
- 本地在Flutter项目根目录新建名为
codemagic.yaml的空白配置文件
可直接复用的配置模板
把下面内容复制到codemagic.yaml里,替换注释中标注的自定义参数即可:
workflows: flutter-ios-auto-build: name: iOS自动构建IPA instance_type: mac_mini_m1 max_build_duration: 60 # 自动触发规则,不需要自动触发可以删掉triggering整个块,保留手动触发 triggering: events: - push - tag branch_patterns: - pattern: 'main' # 推送到main分支时自动启动构建,换分支直接改这里的名称 include: true source: true environment: flutter: stable # 填你本地开发用的Flutter版本,比如3.19.6,避免版本兼容问题 xcode: latest # 之前手动构建成功用的Xcode版本就填对应的,不确定就填latest cocoapods: default scripts: - name: 拉取Flutter依赖 script: | flutter pub get - name: 配置iOS代码签名 script: | keychain initialize # 下面参数替换成你自己的实际配置 app-store-connect fetch-signing-files "替换成你的iOS应用包名,比如com.xxx.app" \ --type IOS_APP_STORE \ # 打上架包用IOS_APP_STORE,打测试安装包换IOS_APP_ADHOC --certificate "替换成你存在Codemagic后台的p12证书名称" keychain add-certificates - name: 构建release版IPA script: | flutter build ipa --release \ --export-options-plist=$HOME/export_options.plist artifacts: - build/ios/ipa/*.ipa # 构建完成后导出IPA安装包 - build/ios/ipa/*.dSYM.zip # 导出崩溃分析用的符号表 publishing: # 不需要邮件通知可以删掉整个publishing块 email: recipients: - 替换成你要接收构建通知的邮箱
配置生效操作
- 把改好的
codemagic.yaml推送到Git仓库的项目根目录 - 打开Codemagic后台进入对应项目,首次使用yaml配置时,选择「Configuration as code」模式,系统会自动识别仓库里的配置文件
- 没配置自动触发的话,直接在后台点对应工作流的Start build即可,整个构建流程会按yaml定义的步骤自动跑,不需要再手动选网页上的配置项
常用调整说明
- 打Ad Hoc测试包给非App Store渠道安装时,把签名类型
IOS_APP_STORE换成IOS_APP_ADHOC,确保后台存的是对应类型的描述文件即可 - 如果构建报Flutter/Xcode版本兼容错误,直接把environment下的flutter、xcode字段改成你之前手动构建成功时用的具体版本号
- 项目有额外的前置脚本(比如环境变量配置、原生插件特殊处理),直接在scripts块里按顺序加对应的执行命令即可,逻辑和本地终端操作一致
内容的提问来源于stack exchange,提问作者beatfloraminederecho
相关产品推荐
相关产品推荐

