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

为何Codemagic配置Flutter iOS版本时CURRENT_PROJECT_VERSION不生效

Codemagic Flutter iOS构建版本号不生效原因解析

核心原因

  • Flutter 执行构建命令时传入的--build-name、--build-number参数,只会直接赋值给 Flutter 框架预设的两个 Xcode 构建变量FLUTTER_BUILD_NAME和FLUTTER_BUILD_NUMBER,不会主动覆盖 Xcode 原生的版本变量。
  • 你最初使用的CURRENT_PROJECT_VERSION和MARKETING_VERSION是 Xcode 原生默认的版本变量,这两个变量的值默认读取自 Xcode 项目「General」配置页下的版本、构建号设置,和 Flutter 构建参数没有默认映射关系。因此你在 Codemagic 中配置的构建参数值不会同步到这两个变量上,Info.plist 读取这两个变量自然无法拿到你设置的目标版本值。
  • 当你将 Info.plist 对应取值修改为FLUTTER_BUILD_NUMBER、FLUTTER_BUILD_NAME后,相当于直接对接了 Flutter 构建参数赋值的目标变量,因此配置可以正常生效。

可选兼容方案

如果你不想修改 Info.plist 的原有配置,也可以在 Xcode 项目的「Build Settings」中添加自定义映射配置:

MARKETING_VERSION = $(FLUTTER_BUILD_NAME)
CURRENT_PROJECT_VERSION = $(FLUTTER_BUILD_NUMBER)

配置完成后同样可以实现 Flutter 构建参数自动同步到原生版本变量的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:15:03