我使用 Xcode beta 上传了一个版本,忘记了不能提交由beta版本编译的版本。所以我通过App Store更新到正式版本的Xcode。
使用Xcode beta时,App Store Connect准确地反映了构建版本号(4.8.1)。现在使用正式版本时,Connect显示了一个构建版本号为5 。我尝试在Xcode中递增到4.8.2,然后Connect显示了一个构建版本号6。
有其他人遇到过这种情况吗?
我使用 Xcode beta 上传了一个版本,忘记了不能提交由beta版本编译的版本。所以我通过App Store更新到正式版本的Xcode。
使用Xcode beta时,App Store Connect准确地反映了构建版本号(4.8.1)。现在使用正式版本时,Connect显示了一个构建版本号为5 。我尝试在Xcode中递增到4.8.2,然后Connect显示了一个构建版本号6。
有其他人遇到过这种情况吗?
这不是一个bug,而是一个(新)特性。
每次进行新的构建时,您的构建编号必须增加。很多人,包括您自己,都不知道这一点。因此,在提交构建时,会验证您的构建编号,并在必要时自动递增。
于是发生了这样的事情:您的构建号被更正为5;然后您尝试降低它,这是不合法的,并再次提交,然后它被更正为6,这是正确的。
请注意,构建编号应该只是一个数字,而不是版本号字符串。
另外,如果您提高用户界面版本字符串,可以将构建编号重置为1。
我也遇到了XCode 13的同样问题,最终找到了原因:在上传存档的过程中,会出现一个对话框,其中包括一个“管理版本号和构建号”的复选框。默认情况下,这个复选框是被选中的(即勾选)。取消选中此框以防止苹果自动管理构建号。
这绝对是一个 bug。
发布说明只说构建号必须是有效的构建号,而 CFBundleVersion 的当前文档说它是由一个到三个用点分隔的整数组成的可机器读取字符串。
我曾使用 xcrun altool --upload-app 上传我的应用程序,在切换到 Xcode 13 后,当我上传版本为 4.7.123 的应用程序时,它自动将其“更正”为 5。
现在我正在使用 xcrun altool --upload-package 和 --bundle-version 来设置构建号,这可以工作,但我不能再上传任何版本为 4.7 的应用程序,因为当前已上传的版本是 5。