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

如何在AppStoreRelease@1任务中设置构建编号与修改构建名称?

关于AppStoreRelease@1任务修改构建名称/编号的问题

AppStoreRelease@1任务本身没有直接设置构建编号或名称的属性,因为这个任务仅负责将已打包完成的IPA上传至App Store/TestFlight,构建编号(CFBundleVersion)和版本名称(CFBundleShortVersionString)是在IPA打包阶段就嵌入到安装包中的,无法在上传环节修改。

正确的修改方式

要自定义或递增构建编号,需要在IPA打包的前置阶段处理,以下是两种常见方案:

1. 通过Xcode任务直接指定构建信息

使用Xcode@5任务打包时,可通过args参数传递版本号和构建号,覆盖项目默认配置:

- task: Xcode@5
  displayName: 'Build and package IPA'
  inputs:
    actions: 'build'
    scheme: 'YourAppScheme'
    sdk: 'iphoneos'
    configuration: 'Release'
    # 传递固定版本号+Azure自动递增的构建号
    args: '-allowProvisioningUpdates VERSION_NUMBER=1.0.0 BUILD_NUMBER=$(Build.BuildId)'
    xcWorkspacePath: '**/*.xcworkspace'
    packageApp: true
    archivePath: '$(build.artifactstagingdirectory)/archive'
    exportPath: '$(build.artifactstagingdirectory)/ipa'
    exportOptionsPlist: 'ExportOptions.plist'

2. 手动修改Info.plist文件

如果需要更灵活的控制,可在打包前用PlistBuddy命令修改项目的Info.plist:

# 设置构建号为Azure自动递增的Build.BuildId
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $(Build.BuildId)" "$(Build.SourcesDirectory)/YourApp/Info.plist"
# 设置固定版本名称
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString 1.0.0" "$(Build.SourcesDirectory)/YourApp/Info.plist"

实现自定义递增逻辑

若不想使用Azure内置的Build.BuildId,可通过自定义计数器变量实现版本号的规则化递增:

variables:
  majorVersion: 1
  minorVersion: 0
  # 基于主/次版本号生成独立递增的构建计数器
  buildCounter: $[counter(format('{0}.{1}', variables.majorVersion, variables.minorVersion), 1)]
  fullBuildNumber: $(majorVersion).$(minorVersion).$(buildCounter)

之后在打包阶段将$(fullBuildNumber)作为构建号传入即可。

补充说明

通过AppStoreRelease@1上传IPA后,TestFlight中显示的构建号就是IPA包内Info.plist里的CFBundleVersion,上传任务本身无法修改该值,必须在打包阶段提前配置完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:48:25