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

React Native Expo iOS构建版本号(Build Number)不递增问题求助

Expo EAS Build仍生成旧buildNumber的解决方案

我之前也碰到过一模一样的问题——明明改了app.json里的版本配置,但EAS Build死活用旧值打包,给你几个实用的排查和解决方向:

  • 强制清理EAS Build缓存
    EAS Build会缓存之前的构建环境,很大概率是旧配置被缓存住了。试试带清理参数重新构建:

    eas build --profile production --platform ios --clear-cache
    
  • 确认你修改的是正确的配置文件
    如果你的eas.json里给production profile指定了专属配置文件(比如app.production.json),那修改根目录的app.json根本不会生效。打开eas.json检查production配置项,看有没有extra.eas.build.config字段指向了其他配置文件。

  • 检查EAS Profile是否覆盖了buildNumber
    打开eas.json的build.production.ios部分,看看是不是硬编码了buildNumber值。如果有这个配置,它会直接覆盖app.json里的设置,要么把值改成你需要的1.2,要么删掉这个字段让它读取app.json的配置。

  • 验证解析后的配置是否正确
    用Expo CLI命令查看最终生成的iOS配置,确认你的修改真的被读取了:

    expo config --type ios
    

    在输出里找CFBundleVersion(对应buildNumber)和CFBundleShortVersionString(对应version),看是不是你设置的1.2和1.2.0。如果这里还是旧值,说明你的配置文件没被正确识别,要检查文件路径和JSON语法。

  • 排查是否有其他硬编码的版本号
    如果你之前从managed workflow切换过bare workflow,或者手动修改过ios目录下的Info.plist,那里面可能留了硬编码的版本号。不过managed workflow下EAS会自动生成Info.plist,这个情况概率不高,但可以顺手排查下。

  • 重新登录EAS CLI
    偶尔身份验证或同步异常也会导致配置不生效,试试退出再登录:

    eas logout
    eas login
    

按这些步骤走下来,应该能解决buildNumber不更新的问题,顺利提交到expo.dev。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 15:17:27