使用 TestFlight 进行内部测试时,什么是好的 iOS 应用程序版本控制策略?

What is a good iOS app versioning strategy when using TestFlight for internal testing?

我有一个 iOS 应用程序,它使用 semantic versioning 标记已发布的构建。我还使用 Apple 的 TestFlight 将内部构建推送给 testing/QA.

团队

推送内部构建需要将构建上传到 iTunes Connect。 iTunes Connect 的测试版本和发布版本之间没有区别,并且 iTunes Connect 不允许覆盖以前上传的版本。所以每次我想推一个新版本进行内部测试时,我都必须修改版本号(好吧,补丁(X.X.X)号)。

这工作正常,除了我们的用户看起来我们的版本号在更新之间跳跃了很多。例如,如果这是我们的构建历史:

...那么用户只会看到粗体版本,而我们的发布历史看起来很奇怪:

我认为避免这种情况的一个好方法是使用测试版本,例如 v1.1.0-beta 用于测试版本,但 iTunes Connect 拒绝任何不是 X.X.X.[=23 的版本字符串=]

有没有办法在内部继续使用 TestFlight testing/QA 并避免向用户显示空白的版本历史记录?

我在构建版本中使用了内部第 4 个数字,我相信 iTunes 仍然接受这个。 例如它可能是版本 1.0.0,但构建可能是 1.0.0.87,表示要测试的第 87 个内部构建。你可以选择在应用程序中显示最后一个数字时将其删除,但人们通常不会在意。

我发现这在大多数地方都很容易理解和接受。

内部版本号与版本号相比没有给予足够的信用。

基本上版本控制有以下 rules.For 示例,如果现有版本是 v1.0.0,那么下一个版本将是:

  • v1.0.1 错误修复和小改动。
  • v1.1.0 进行了重大更改,但应用程序仍然兼容 旧版本。用户仍然可以运行旧版本的应用程序。
  • v2.0.0 进行重大更改,但应用程序 兼容
    旧版本。用户不能运行旧版本的app.
  • v1.0.0.1(beta) 用于内部测试

使用内部版本号。

只需依次增加内部版本号即可。

我们只使用简单的整数 523、524 等

试飞不要更改版本号,因为...

如果您更改实际版本号,您将毫无意义地触发该上传的另一个自动测试延迟!只需增加内部版本号即可。