ChatGPT解决这个技术问题 Extra ChatGPT

错误 ITMS-9000:“冗余二进制上传。已经存在用于火车 '1.0' 的构建版本为 '1.0' 的二进制上传”

我正在尝试通过 Xcode 5.1.1 在 iTunes Connect 上上传我的构建,但它不断显示它正在加载并且应用程序没有被上传。因此,我尝试使用 Application Loader 上传,但显示以下错误:

错误 ITMS-9000:“冗余二进制上传。已经存在用于火车 '1.0' 的构建版本为 '1.0' 的二进制上传”

iTunes 上的应用状态为等待上传。一次上传成功,但状态未反映,现在允许再次上传。

另外,我刚刚检查了该网站也已更改。不知道怎么了。

编辑:苹果新网站上没有提交审核按钮。但现在我可以看到那个按钮了。这解决了我的问题。我还建议使用 Application Loader 上传构建,因为它比管理器更快。

苹果现在太疯狂了。 Ituneconnect 网站也发生了变化。我花了 1 小时浏览该网站以更新我的应用程序的新版本。
@chhi 你能把构建上传到 iTunes 吗?
我遇到了同样的问题。在我们发现我修复的问题并尝试上传替换二进制文件后,我不得不拒绝我的二进制文件。我已经用 Apple Bug Reporter 记录了它。 (#18257715)。请让知道您也遇到此问题,以便他们优先处理。

S
Sverrisson

如果每个上传到 iTunesConnect 的构建版本号都在增加,则同一版本可能会上传多个二进制文件到 App Store Connect。对于每个上传的二进制文件,内部版本号必须是唯一(或更高)(选择目标,然后 Xcode -> 常规 -> 构建,请参阅下图)。例如,在下图中,上传的构建版本为 3.1.4(旧图中为 3.75),构建编号为 1。因此,上传此图片后将构建版本增加到至少 2 或更高。然后这个二进制文件也可以上传到 App Store Connect,因为它是根据 build number 的后续版本。

version 会记录您向用户发布的应用的发布版本build number 表示上传到商店的二进制文件的最终构建,即经过多次错误修复。

在 Xcode 9 之后,如果商店中存在具有相同版本号的先前版本,您将无法上传新版本(相同版本)。因此,请检查您的内部版本号,如果不确定则增加。

编辑:使用 1234 等作为内部版本号更正确,但版本号必须增加,1.0 -> 1.1 -> 1.2等。如果没有发布错误,则内部版本号必须高于先前提交的相同版本号的版本号。因此,如果提交了一个版本为 3.75 的新二进制文件并且已经提交了 build 1,那么下一个 build 应该是 2 或更高版本,但版本仍然可以保持 3.75。

https://i.stack.imgur.com/Gb2Cr.png

https://i.stack.imgur.com/NAlCV.jpg

上传并处理新的二进制文件后(大约 5-20 分钟的处理时间,如果它没有显示再次上传并等待),那么您可以选择新的二进制文件并提交以供审核。在下图中,您可能会在当前 App 版本的 Build 部分中看到 App Store Connect 中列出的旧二进制文件和新二进制文件(单击加号)。然后选择新的二进制文件-> Saved -> Submit for Review。 (有时提交时会出现错误,然后在几分钟后尝试或上传新的二进制文件)。

https://i.stack.imgur.com/5eqc6.jpg

对于那些倾向于使用 Xcode 脚本自动执行此操作的人,这里是关于制作用于更新内部版本号的自动脚本的说明Better way of incrementing build number?


谢谢,我设法通过将内部版本号更改为使用格式 YYYYMMDDhhmm 来克服此错误,每次我使用当前日期和时间将新版本推送到 App Store 时,我都可以更新该格式。不过,我想自动更改内部版本号。
@Brennan 我添加了一个链接,指向有关使内部版本号自动增加的说明。
@HannesSverrisson 对于我们这些已经在我们的版本号中使用三个部分的人,您有什么建议?
@Simon 我想您必须将构建添加为第四部分。客户端永远不会在 App Store 中看到内部版本号。
@HannesSverrisson,但我们不再允许使用第四部分!
a
atulkhatri

我不知道为什么人们在内部版本号中添加 float

在我看来,标准方法是在内部版本号中添加 integer,在版本中添加 floatdotted string

IE

     Version: 1.0.0
     Build: 2

https://i.stack.imgur.com/PR6pC.png


我完全同意。所有这些人在这两个领域都使用相同的数字真的没有抓住重点。版本号是您希望发布的公开版本。内部版本号是内部版本号!每次构建应用程序进行测试时,它都会上升,因此您可以参考错误跟踪它,只要代码发生变化,它就会发生变化。这就是为什么试飞会以它的方式列出您的构建。例如。版本 1.0.0 (2) 这取决于您的公司如何构建内部版本号。有时,测试阶段需要单独的级别,所以浮动也很好。
我完全同意你的看法。如果创建一个全新的项目,你会发现这是 Xcode 的默认策略。
A
Alpesh Patoliya

您只需要更改 Build 及其版本。店内直播版本:1.1 上传新版本:1.2(此处如果您使用 5.1.1 或更早版本上传失败)然后需要再次上传,所以新上传将是:1.3

https://i.stack.imgur.com/bIZN3.jpg


我想上传 1.01 而不是 1.02。我现在该怎么办?
我有同样的问题。虽然我有两个构建并且没有提交审核按钮。点击你的 1.4 版本后,你真的得到了提交审核按钮吗?
@neelabh 是的,它似乎在等待审查。上传 1.4 后
@user28 用于更新版本,您需要更改版本。让它1.02
K
Kibernetik

在上传新版本之前,绝对不可能从 iTunes Connect 中删除旧版本。 iTunes Connect 界面对于此操作来说没有那么先进。

但实际上你不需要删除它(如果他们愿意,让苹果自己拿走)。您需要更改您的内部版本号(不是版本号)并再次上传。

例如,如果您的版本号为 1.0,内部版本号为 1.0,则将内部版本号更改为 1.0.1,并将版本号保留为 1.0。然后上传它 - iTuned Connect 将接受更新的版本。其余的都很明显。祝你好运!


问题是一些库和框架使用内部版本号作为版本号。
k
kees

我注意到 Apple 需要很长时间才能提交一个构建版本。在我选择它之前,我上传了几次我的构建。到此为止,我的构建无效,因为相同的构建版本在服务器上出现了几次,并且我收到了“冗余二进制上传”邮件。

在我的情况下,我可以在从 Xcode 上传构建(带有新构建号)后 15 分钟选择新的二进制文件。


所以当你得到“冗余二进制上传”时你做了什么。因为我收到了来自 Apple 的类似邮件,而我的应用程序显示“等待审核”
在我的情况下,我认为这就是我在 iTunes 连接的“构建”选项卡上看到我所有上传的原因......即使我已经等待了 50 分钟但仍然没有......希望在接下来的几个小时里我会得到我的版本在版本选项卡上启用,因此我可以提交以供审核
在我的情况下,这需要超过 45 分钟,但这是您每次从 XCode 上传到 iTunes 连接之间似乎存在巨大延迟的主要原因
j
jww

我尝试将内部版本号增加到小数点后 3 位(例如 1.5.1),但这仍然给我带来了冗余二进制错误。在我再添加一个小数(例如 1.5.1.0)后,它起作用了!

我的设置的屏幕截图:

https://i.stack.imgur.com/daKBA.png


对我来说,只有三个级别的版本号有效。我唯一注意到的是 1.1.0 被视为 1.1。所以,我不得不尝试 1.1.1 而不是 1.1.0
C
Community

我需要警告您,这里的几乎所有答案(包括已接受的答案)都提倡非常规的计算构建方式。

这并不重要,但坚持惯例总是更好,因此我鼓励您查看 this answer 以了解如何计算您的构建。

是的,回答最初的问题,您所要做的就是增加您的内部版本号。适当地。


R
Rodney Gracia

我刚刚经历了同样的问题。不幸的是,我创建了我的应用程序的 1.0.1 版本,并上传了一个具有相同版本的二进制文件,但被拒绝为无效。之后我无法拒绝系统中的二进制文件,所以我必须首先找出拒绝的原因,然后在 iTunes Connect 和新上传的二进制文件上将应用程序版本更改为 1.0.2代码修复。它现在坐在等待审查。

我尝试此操作的前 3 次,二进制文件几乎立即被拒绝。我花了大约 2 个小时才弄清楚我的拒绝原因是从有效架构中删除“arm64”。我希望这可以帮助你。


s
stebooks

我只是先在 iTunes 连接中增加了版本号。这使我可以上传新版本的二进制文件并且没有问题。


c
codingFriend1

我想上传我的应用程序的版本 2.4 并得到了该错误消息。这是该版本的第一次上传,iTunesConnect 上肯定没有二进制文件。

我可以通过将构建版本从 2.4 更改为 2.4.0 轻松解决此问题。无需增加版本。我猜 iTunes 只希望构建版本有一个由三部分组成的版本号。