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

在Codemagic中配置Flutter iOS应用版本与构建号遇阻

解决Codemagic中Flutter iOS版本变量为空的问题

针对你遇到的FLUTTER_BUILD_NAME和FLUTTER_BUILD_NUMBER变量为空、导致Info.plist注入失败的问题,可从以下几个方向排查解决:

  • 确认Codemagic的Flutter SDK版本
    老版本Flutter可能存在自动注入版本变量的bug,建议在Codemagic构建配置中选择stable通道的最新稳定版,避免使用过旧的SDK版本。

  • 检查pubspec.yaml的格式与位置
    确保version字段严格遵循x.y.z+build_number格式(如你的0.7.0+10),无多余空格或特殊字符;同时确认pubspec.yaml位于项目根目录,Codemagic能正常读取到该文件。

  • 修正Info.plist的写法
    不要给变量加引号,正确配置应为:

    <key>CFBundleShortVersionString</key>
    <string>$(FLUTTER_BUILD_NAME)</string>
    <key>CFBundleVersion</key>
    <string>$(FLUTTER_BUILD_NUMBER)</string>
    

    同时确认Info.plist路径为ios/Runner/Info.plist,若为自定义路径需在构建脚本中明确指定。

  • 排查Codemagic环境变量覆盖
    进入Codemagic构建配置的「Environment variables」页面,检查是否手动设置了FLUTTER_BUILD_NAME或FLUTTER_BUILD_NUMBER变量——手动设置的变量会覆盖pubspec.yaml中的值,若存在则删除。

  • 调整构建脚本顺序
    尝试手动指定构建步骤的顺序,确保Flutter先处理pubspec再构建iOS项目:

    flutter pub get
    flutter build ios --no-codesign
    

    避免Codemagic默认脚本顺序导致的变量未注入问题。

  • 确认项目根目录配置
    若项目存在子目录结构,需在Codemagic构建配置中设置正确的工作目录,确保SDK能扫描到pubspec.yaml文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 16:22:51