111

“您上传的二进制文件无效。Info.plist文件中的关键CFBundleVersion必须包含比之前上传的版本更高的版本。”

当我上传我的应用程序时,我收到了这个错误。

我在 iTunes Connect 上将更新版本设置为 1.2,并将.plist文件更新为 1.2。

我不明白为什么我会收到这个错误。任何帮助,将不胜感激。谢谢。

4

30 回答 30

212

Apple 的上传服务器中至少有 1 个已知错误,他们已经超过 12 个月没有修复。需要注意的事项:

  1. Apple 删除版本号内的所有前导零;即“整个字符串”不被视为数字,而是点之间的位被视为单独的数字。例如,“1.02”被 Apple 视为“1.2”。所以,对于苹果来说,1.02 大于 1.1
  2. Apple 有时会感到“困惑”,并且似乎会将您上传的应用程序与您之前上传的不同应用程序的版本进行比较。很多人都遇到过这种情况,我自己也见过几次
  3. 苹果应该比较“CFBundleVersion”(即“Bundle version”而不是“Bundle versions string, short”);不要混淆。
  4. 通常,唯一可行的解​​决方案是增加前面的数字(例如,“2.4”中的“2”——将其增加到“3”)
  5. 您上传的版本号与 iTunes 中显示的版本号无关 - 您可以将任何您想要的内容放在那里,这就是您的用户将看到的
  6. ...除了,如果您还在应用程序中报告“实际”版本号,用户将看到 CFBundleVersion(通常取决于您如何编码),而不是 iTunes 版本(我认为无法从在您的应用程序中)
于 2011-05-17T20:56:02.647 回答
29

更新内部版本号。版本号很重要,但内部版本号决定一切。例如,我有一个应用程序的初始版本:

version #: 1.0
build #:   1.0

但是,当我尝试上传下一个版本时,即

version #: 1.1
build #:   1.0

它不会接受上传。通过简单地将 build # 增加到 1.1,上传就被接受了。

于 2011-12-23T15:56:56.370 回答
9

如果您不重新归档应用程序,Xcode 4 会认为您想要重新上传相同的版本。即使您更改了 Bundle Version 并重新构建,上传也会失败。记得在产品菜单中做一个“存档”!

于 2012-05-01T14:58:30.697 回答
7

Many of the answers here ultimately helped me but it wasn't until what I saw the exact "version" number that Apple was comparing.

  1. Go to iTunes Connect -> Manage Your Applications
  2. Choose the application you want to check the previous version for
  3. Click on the blue button labeled View Details
  4. Click the link labeled Binary Details
  5. Find the value given for Bundle Version

Even though I thought I had submitted version number 1.0.1, the actual number that Apple stored was 101. Some of the comments above made me believe I needed to change my version to 2.0 (20) or 1.5 (15) or 1.2 (12)—these are all less than 101 as you can see. Updating my version number 102 (without the dots) fixed the issue.

于 2013-02-13T01:57:31.293 回答
6

本文指出,在应用商店中看到的版本号不一定与捆绑包版本号相同。当您在 iTunes 中查看应用程序的详细信息时,会有一个名为“二进制详细信息”的链接。该页面显示捆绑版本。我正在开发的应用程序之一是 1.0 版本,但它的捆绑版本是 2.0。上传 1.1 版本的捆绑包失败,但 2.1 确实有效。

所以,有一个应用程序版本和一个捆绑版本。此问题与捆绑版本有关。

于 2011-04-12T14:47:06.880 回答
5

似乎混乱是由数字格式引起的。捆绑版本不是小数。它是一个版本(或者可能是构建版本),所以 1.11 实际上是“一点十一”。因此 1.11 大于 1.2。在这种情况下,我成功使用了 1.20。

于 2011-11-02T03:50:21.753 回答
4

通常,这可能是由于缺少版本号造成的。因此,在 Identity 下添加版本号,并检查 Build number 。

在此处输入图像描述

继续编码...... :)

于 2014-09-16T08:59:27.827 回答
3

对我来说(Xcode 4.5)改变内部版本号解决了这个问题。将版本设置为 1.0.2 ... 2.0.2 等,然后增加构建#(亚当 3 点给我一个 idia 去哪里看)。

于 2012-11-19T00:32:58.283 回答
2

注意错误信息。

错误消息在方括号中包含先前的捆绑包编号(例如 [9])。

因此,您需要增加该捆绑包编号(例如 9.1),尽管您的新版本号是 1.2

因此,当您在 iTunes Connect 中将版本从 1.1 更新到 1.2 时,您需要在项目中设置这些值

Version number = 1.2
Bundle number = [previous bundle number]++
于 2014-01-24T21:48:57.833 回答
2

我知道这是一个老问题,但我刚刚遇到了这个问题。我通过从存档中删除项目,然后重新存档来解决它。显然,该应用程序的先前版本就在那里并引起了混乱。

于 2013-07-07T20:00:30.697 回答
2

如果报告的错误是 CFBundleVersion,则修复通常很容易。检查/试试这个:

  1. 转到 Project Navigator 中的顶级项目项并单击它。
  2. 在面板中右击应用程序目标。
  3. 单击摘要选项卡。

在摘要选项卡上,您将看到可以调整两个不同的“版本”。第一个是“版本”字段,用于 Mac 应用程序的默认“关于”屏幕。右侧是“构建版本”。这对于 App Store 提交来说真的很重要!

于 2013-03-20T13:45:23.740 回答
2

我遇到了同样的问题,它发生是因为我没有存档,我使用的是我用于 1.0 但使用 1.0.1 的第一个存档。所以我选择了iOS设备,存档然后验证。Ta-daaa,它成功了!

于 2014-04-30T13:20:31.947 回答
2

我花了几个小时试图解决这个问题。我已经尽我所能检查以确保 CFBundleVersion 确实高于旧版本,方法是在文本编辑器上打开 info.plist,获取目标信息并阅读属性上的版本,让我的妻子阅读版本在 iTunes 上确认我没有被意外的早期阿尔茨海默病击中。

最后,这以某种方式成功了。我的旧版本是 1.0.4。我尝试了 1.3.5、1.4.5 等;没有工作。但令人惊讶的是,当我进入 2.0.0 时,Application Loader 喜欢它所看到的并上传它。这是由于应用程序加载器中的错误造成的吗?

于 2011-03-22T22:27:41.170 回答
2

在 xcode4 中版本号旁边的目标摘要中是构建,我从 1 开始,每次执行二进制上传时都会递增,这为我解决了问题

于 2011-10-01T05:14:49.123 回答
2

您应该能够登录 iTunes Connect 并查看应用程序的当前版本(包括您已提交但尚未上线的任何版本)。检查以确保您之前没有提交具有更高(或相同)版本号的版本。

于 2011-02-23T19:43:25.810 回答
1

这是我解决问题的方法(我猜这是很多人的问题):

1) 单击项目设置的常规选项卡(可以通过单击位于所有代码文件顶部的项目名称来访问)。

2)确保构建字段与您在 plist 中为“Bundle Version”键输入的内容相匹配。

这对我来说是个问题,无论出于何种原因,它们都不同步。我认为当您更改 Bundler Version 密钥时,它应该同步(反之亦然)。但无论出于何种原因,它都没有发生 - 可能是一个错误。

于 2014-03-19T07:20:53.440 回答
1

我通过交换“版本”和“构建”号犯了一个错误。

我没有将 2.3 放在 Version 字段中,而是将其放在 Build 号中。

于 2014-02-16T16:31:01.497 回答
1

我的项目中有 iPhone 和 iPad 版本,由于某种原因,ipad 的 infoplist 与 ipad 产品没有关联,检查目标成员资格并将其与正确的产品相关联为我解决了这个问题。

于 2012-04-23T20:54:53.660 回答
1

我在这篇文章中找到了这个错误的解决方案CFBundleVersion must be higher than previous version

希望这可以帮助!

于 2013-03-04T22:26:52.850 回答
0

我有同样的问题。基本上我以前的版本是 1.12 我想把它改成 1.2 但有提到的错误。我确实尝试了 1.20,它确实工作得很好

于 2011-06-08T19:42:22.480 回答
0

我在一个类似的问题上花了两个晚上。我以前的版本是 1.02,我尝试使用 1.2、1.20、1.1 进行验证,但总是收到无效的二进制消息。

我通过输入 2.0 作为版本号来解决它,并且有效。我怀疑这也是一个错误。最近将我的游戏从 1.0 升级到 1.1 时,我没有收到此消息,但那是使用 xcode 3。感谢您的提示!

于 2011-03-28T19:26:29.707 回答
0

在 xcode 4.2 中,如果您从 info.plist 文件进行修改,似乎不会注册捆绑版本。我直接在 xcode 面板“信息”中设置了我的新包版本,现在它可以工作了!

于 2011-11-22T14:32:31.377 回答
0

检查你之前上传版本的bundle版本,你应该给出比已经上传版本的bundle版本更高的bundle版本。已经上传的版本可以通过itunesconnect/application/view details/binary details查看。

于 2012-11-06T12:31:26.390 回答
0

我有同样的问题。第一次提交的版本是 1.5.20,想更新到 1.7.30。

在尝试版本 1.8、2.0 和 3.0 失败后,我将我的 CFBundleVersion 更新为 10.0,然后它突然工作了。

我不确定这种行为背后的逻辑是什么,但这导致我浪费了大约 2 天的工作时间。

于 2012-09-01T19:40:58.180 回答
0

我找到了另一个解决方案。

如果您选择您的目标>>信息>>更新 Bundle ID。

于 2012-08-01T07:32:30.323 回答
0

只要我使用 Apple 的“Application Loader”上传我的 ipa 文件,就没有一组不断增加的版本号起作用,但如果我使用 XCode 的“Organizer”(在 3.2.5 版的“Window”下拉菜单下找到) ,单击“验证...”按钮,等待它批准我,然后单击“提交...”按钮,一切正常,版本号正常(比当前版本号高一个增量)可在应用商店获得)。

于 2011-07-12T10:43:20.593 回答
0

我有类似的问题,花了半个小时后我发现我增加了错误的数字。而不是增加Bundle versionBundleversions, string, short在 Info.plist 中增加。使用 CMD + Shift + F 在您的项目中搜索“CFBundleVersion”。您将看到需要增加 CFBundleVersion 编号。

于 2014-02-21T10:00:44.973 回答
0

尝试将 version="1.1.1.0" 更改为 version="1.1.1"

于 2015-07-11T20:22:55.963 回答
0

我有一个活跃的 TestFlight 测试版正在运行。 构建 2020,版本 407

我提交了一个应用程序供官方App Store 审核。 Build 2020,版本 435,并获得批准。它只是坐在那里,等着我将它实时推送到 App Store。

在不添加复杂的支线故事的情况下,我想做的是给我的 TestFlight beta 用户一个更新版本,以便在 App Store 版本上线之前预览官方 App Store 版本几天。你为什么问?因为他们获得了免费功能,所以一旦应用程序上线,他们就要花钱了。

因此,我向 TestFlight 提交了Build 2020版本 436,但被拒绝了。

它被拒绝了,因为我有一个经过批准的官方 App-Store 候选人,具有相同的内部版本号

解决方案:更改您的 TestFlight 版本的内部版本号。我向 TestFlight 提交了Build 20200(我添加了一个额外的零)版本 436,并获得了批准。不用担心,只要您仍然使用相同的 BundleID,您仍然可以将此构建推送到同一个 TestFlight beta 组。

于 2016-10-03T16:39:15.677 回答
0

截至10 月下旬, Apple 要求版本号少于 4 位(1.2.3 或 1.23,而不是 1.2.3.4 或 1.234)。这也适用于图书馆!

在项目目录中快速查找有问题的版本号应该会打开有问题的库:

grep -r "1.2.3.4" .

于 2015-11-09T05:45:29.017 回答