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

如何配置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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 02:51:32