【问题标题】:Manage Version and Build Number管理版本和内部版本号
【发布时间】:2021-09-15 02:56:37
【问题描述】:

我刚刚更新到 Xcode 13 Beta,我即将使用这个版本的 Xcode 将我的第一个构建上传到 App Store,我看到了一些我以前从未见过的不同之处。

管理版本和内部版本号

在存档之前,我已经从 Xcode 增加了我的版本和内部版本号。我们应该在这里做什么?如果它是一种自动化的构建增量方式,那么使用它有什么好处?

【问题讨论】:

  • 令人难以置信的 Apple of Apple 能够做到这一点......我们已经有了自己的构建序列,谢谢。您可以默认不打开新功能吗?您知道,对于我们这些多年来在没有您帮助的情况下愉快地增加内部版本号的人吗? :)
  • 也许从这里开始,Apple 将在内部实现“自动化”发布,而不需要 3rd 方工具。Bec。这就是如今 CI-CD 工具为我们所做的事情。
  • 提交有关此行为的错误报告。这是不专业和愚蠢的:feedbackassistant.apple.com

标签: ios xcode app-store app-store-connect


【解决方案1】:

我已经在存档之前从 Xcode 增加了我的版本和内部版本号。我们应该在这里做什么?

如果您确定在存档之前已经更新了您的版本/内部版本号,那么您可以取消选中此项,这将被忽略。

如果它是一种自动化的构建增量方式,使用它有什么好处?

  1. 它为您提供了更改version/build 的机会,以防您忘记它。在以前的 Xcode 版本中没有这方面的迹象。

  2. 它允许您在导出/上传之前更改version/build 编号(存档后),以前如果您想更改version/,则必须创建一个新存档build号码。

【讨论】:

  • 这实际上听起来像是一个不错的功能,只是会选择默认关闭现有项目。
  • 旁注:如果 xcodebuild 13 覆盖了您已经在管理的 CFBundleVersion 值,请在您的 exportOptions.plist 中将新的 manageAppVersionAndBuildNumber 属性设置为 false
  • Organizer 上传后仍显示旧版本号。
【解决方案2】:

适用于使用 fastlane 并因 xcode 更改构建版本而苦苦挣扎的人。

Xcode 13 中的新功能:

将应用上传到 App Store Connect 时,分发助手 在 Xcode 中检测您的应用程序是否具有有效的内部版本号 (CFBundle 版本)。如果您的应用有无效号码(例如 以前使用过,或在您当前的内部版本号之前), 分发助手提供自动递增的选项 它到一个有效的数字。此外,配送助理确保 您的应用中所有嵌入内容的内部版本号(例如 应用程序扩展、App Clips 或 watchOS 应用程序)与您的应用程序同步。 请注意,这不会修改您的源代码或存档; Xcode 在打包之前更新应用程序的分阶段副本中的内部版本号 并将其上传到 App Store Connect。 (59826409)

在使用 fastlane 构建和发布应用时,您可以将 "ma​​nageAppVersionAndBuildNumbe: false" 参数传递给 build_app 操作的 export_options 以禁用 xcode 版本更改。

build_app( scheme: "your_app_scheme", export_options:{ manageAppVersionAndBuildNumber: false })

【讨论】:

    【解决方案3】:

    我遇到了一些意想不到的事情 - 它还更改了嵌入到应用程序中的框架的版本号。

    https://developer.apple.com/forums/thread/690647

    【讨论】: