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

如何让Xcode新的「管理版本与构建号」功能更新项目目标值?

解决Xcode「管理版本与构建号」不更新项目目标版本号/构建号的问题

Xcode的「管理版本与构建号」功能仅在归档上传流程中修改归档内的版本信息,不会自动同步更新Xcode项目里的MARKETING_VERSION和CURRENT_PROJECT_VERSION变量。要让项目文件同步更新,可通过以下两种方式操作:

一、手动同步项目版本信息

  1. 上传归档并确认App Store Connect完成版本号/构建号更新后,打开Xcode项目的目标设置:
    • 进入目标的「General」标签页,找到「Version」(对应MARKETING_VERSION)和「Build」(对应CURRENT_PROJECT_VERSION)
    • 将这两个值手动修改为App Store Connect中显示的最新版本号(比如你遇到的1.0)和构建号(比如2)
  2. 注意:Xcode 14+的SwiftUI新项目中,Info标签页的Bundle version string (short)和Bundle version是绑定到上述两个变量的,直接修改Info标签页的值会被重置,必须在General标签页或项目的Build Settings中修改对应变量。

二、脚本自动同步(替代手动操作)

如果想避免手动重复修改,可以结合agvtool或自定义脚本,在上传归档后自动更新项目的版本变量:

  1. 使用agvtool快速更新:
    # 更新构建号为2
    agvtool new-version -all 2
    # 更新版本号为1.0
    agvtool new-marketing-version 1.0
    
  2. 自定义Xcode脚本示例(可添加到构建阶段或单独运行):
    # 替换为App Store Connect返回的最新版本号和构建号
    NEW_MARKETING_VERSION="1.0"
    NEW_BUILD_NUMBER="2"
    
    # 更新项目的MARKETING_VERSION和CURRENT_PROJECT_VERSION
    xcodebuild -project YourProject.xcodeproj -target YourTarget MARKETING_VERSION=$NEW_MARKETING_VERSION CURRENT_PROJECT_VERSION=$NEW_BUILD_NUMBER
    

关键说明

  • 「管理版本与构建号」的设计初衷是临时修正归档的版本信息以满足App Store Connect的校验要求,并非用来同步更新本地项目文件
  • Xcode 14+中,MARKETING_VERSION和CURRENT_PROJECT_VERSION是项目级变量,所有绑定这两个变量的目标会自动同步更新,无需逐个修改Info.plist

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:35:18