App Store Connect显示错误的构建号

7

我使用 Xcode beta 上传了一个版本,忘记了不能提交由beta版本编译的版本。所以我通过App Store更新到正式版本的Xcode。

使用Xcode beta时,App Store Connect准确地反映了构建版本号(4.8.1)。现在使用正式版本时,Connect显示了一个构建版本号为5 。我尝试在Xcode中递增到4.8.2,然后Connect显示了一个构建版本号6。

有其他人遇到过这种情况吗?

3个回答

7

这不是一个bug,而是一个(新)特性。

每次进行新的构建时,您的构建编号必须增加。很多人,包括您自己,都不知道这一点。因此,在提交构建时,会验证您的构建编号,并在必要时自动递增。

于是发生了这样的事情:您的构建号被更正为5;然后您尝试降低它,这是不合法的,并再次提交,然后它被更正为6,这是正确的。

请注意,构建编号应该只是一个数字,而不是版本号字符串。

另外,如果您提高用户界面版本字符串,可以将构建编号重置为1。


1
谢谢Matt!顺便说一下,我不确定是你还是其他人给它投了反对票,但我肯定在发布之前进行了搜索,但没有找到任何信息。正如你所指出的,很多人不知道这个,所以我认为将其保留下来可能对其他人有用! - zakray
这个功能在唯一有意义的地方非常清晰地被称为:发布说明(https://developer.apple.com/documentation/xcode-release-notes/xcode-13-release-notes)。"当上传应用到App Store Connect时,Xcode中的分发助手会检测您的应用是否具有有效的构建号码..."等等。 - matt
这就是我的答案告诉你的。这不是一个错误,而是一个特性。CFBundleVersion应该表示一个整数,简单明了。忽略旧文档。 - matt
1
我已经报告了。 - Damien
非常好,谢谢。 - matt
显示剩余4条评论

4

我也遇到了XCode 13的同样问题,最终找到了原因:在上传存档的过程中,会出现一个对话框,其中包括一个“管理版本号和构建号”的复选框。默认情况下,这个复选框是被选中的(即勾选)。取消选中此框以防止苹果自动管理构建号。


1
如果你忘了一次,它可能会毁掉你整个版本号链 :'(. 这是一个非常烦人的特性。 - vomi
有没有可行的方法默认禁用这个复选框?我习惯自己管理构建版本号。而这个新功能已经几次打破了我期望的版本... - Deimos

0

这绝对是一个 bug。

发布说明只说构建号必须是有效的构建号,而 CFBundleVersion 的当前文档说它是由一个到三个用点分隔的整数组成的可机器读取字符串。

我曾使用 xcrun altool --upload-app 上传我的应用程序,在切换到 Xcode 13 后,当我上传版本为 4.7.123 的应用程序时,它自动将其“更正”为 5。

现在我正在使用 xcrun altool --upload-package 和 --bundle-version 来设置构建号,这可以工作,但我不能再上传任何版本为 4.7 的应用程序,因为当前已上传的版本是 5。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接