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

Xcode 13下agvtool new-marketing-version失效的解决方法咨询

问题原因

Xcode 13 调整了 Info.plist 生成逻辑:默认配置下,版本号、Bundle ID 这类基础字段不再静态存储在独立 Info.plist 文件中,而是直接保存在工程文件project.pbxproj的构建设置项里,编译阶段才会动态生成最终的 Info.plist 内容。手动往 Info.plist 添加静态CFBundleShortVersionString键的做法本身就不符合新版Xcode的设计逻辑——每次在target的Info标签页修改配置时,Xcode会按照当前配置重新同步Info.plist模板,手动添加的键会被直接清除,这就是agvtool命令失效的核心原因。

正确配置方案

方案1:适配新版Xcode机制,正常使用agvtool

按照以下步骤配置后,agvtool会直接修改工程文件里的版本配置,不需要依赖Info.plist里的静态键,也不会被Xcode的同步逻辑覆盖:

  • 打开项目,进入对应target的Build Settings页,找到Versioning分组:
    • 将Versioning System的值设置为Apple Generic(默认通常为None,必须手动修改)
    • 给Current Project Version设置初始值,首次配置填1即可
  • 切到target的Info标签页,找到Bundle versions string, short(对外展示版本号)和Bundle version(内部构建号)两个条目,确保它们的值分别为$(MARKETING_VERSION)和$(CURRENT_PROJECT_VERSION),不要写死固定字符串
  • 如果项目因为需要配置自定义字段单独添加了Info.plist文件,打开这个文件,把CFBundleShortVersionString和CFBundleVersion两个键的值也改成上述变量引用形式,不要写死固定值,同时确认Build Settings里的INFOPLIST_FILE路径指向你自定义的plist文件即可

配置完成后,原有Jenkins脚本就可以正常生效:

# 设置对外版本号
xcrun agvtool new-marketing-version 1.0.0
# 设置内部构建号(按需使用)
xcrun agvtool new-version -all 10

执行后可以用以下命令校验配置是否正确写入:

# 查看当前配置的对外版本号
xcrun agvtool what-marketing-version
# 查看当前配置的内部构建号
xcrun agvtool what-version

后续不管怎么在Info标签页修改其他配置,版本号配置都会保存在工程构建设置里,不会被清除。

方案2:不依赖agvtool,直接通过命令行修改工程配置

如果不想调整agvtool相关配置,也可以直接用xcodebuild命令修改工程里的版本配置,本质和新版agvtool逻辑一致,都是直接修改project.pbxproj里的构建设置:

# 替换为实际的项目路径、target名、版本号即可
xcodebuild -project YourProject.xcodeproj \
-target YourTargetName \
MARKETING_VERSION=1.0.0 \
CURRENT_PROJECT_VERSION=10 \
-configuration Release

如果是用CocoaPods的workspace项目,把-project参数替换为-workspace YourWorkspace.xcworkspace,加上-scheme YourSchemeName参数即可。

注意事项
  • 不要手动往Info.plist里写死CFBundleShortVersionString和CFBundleVersion的固定值,否则会出现构建设置和plist值不一致、配置被覆盖的问题
  • 执行版本相关命令时,确保终端当前工作目录在.xcodeproj/.xcworkspace所在的根目录,否则会出现找不到项目的报错
  • 如果项目有多个target,执行agvtool命令时加-all参数可以给所有target统一设置版本号,避免漏改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:18:26