Info.plist中的CFBundleVersion上传错误

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

当我上传我的应用程序时,出现此错误。

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

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

苹果公司的上传服务器中至less有1个已知错误,他们还没有修复超过12个月。 需要注意的事项:

  1. 苹果删除版本号内的任何前导零; 即“整个string”不被视为一个数字,而是点之间的位被视为单独的数字。 例如“1.02”被Apple视为“1.2”。 所以,对于苹果来说,1.02大于1.1
  2. 苹果有时会感到“困惑”,似乎将你上传的应用程序与你以前上传的不同应用程序的版本进行比较。 这发生在很多人身上,而我自己也看过几次
  3. 苹果应该是比较“CFBundleVersion”(即“捆绑版本”,而不是“捆绑版本string,简称”); 不要混淆。
  4. 通常情况下,唯一可行的解​​决scheme是颠倒前面的数字(例如“2.4”中的“2” – 将其增加到“3”)
  5. 您上传的版本号与iTunes中显示的版本号无关 – 您可以放置​​任何您想要的内容,这就是您的用户将会看到的内容
  6. …除此之外,如果您还在应用程序中报告“实际”版本号,用户将看到CFBundleVersion(通常取决于您如何编码),而不是iTunes版本(我认为 – 无法从在你的app里面)

更新内部版本号。 版本号很重要,但内部版本号会有所不同。 例如,我有我的应用程序的最初版本为:

version #: 1.0 build #: 1.0 

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

 version #: 1.1 build #: 1.0 

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

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

这里的许多答案最终帮助了我,但是直到我看到苹果正在比较的确切的“版本”数字。

  1. 转到iTunes Connect – >pipe理您的应用程序
  2. select你想要检查以前版本的应用程序
  3. 点击标记为“ 查看详情”的蓝色button
  4. 点击标有Binary Details的链接
  5. 查找捆绑版本的价值

尽pipe我以为我已经提交了1.0.1版本,但实际上苹果存储的是101.上面的一些评论让我相信我需要将我的版本更改为2.0(20)或1.5(15)或1.2(12 ) – 这些都小于101,你可以看到。 更新我的版本号码102(没有点)解决了这个问题。

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

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

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

通常,这可能是由于缺less版本号引起的。 因此,在标识下添加版本号,并检查版本号。

在这里输入图像说明

保持编码……… 🙂

对我来说(Xcode 4.5)改变版本号解决了这个问题。 设置版本1.0.2 … 2.0.2等,然后增加build设#(亚当3点给我一个idia在哪里看)。

您应该可以login到iTunes Connect并查看该应用程序的当前版本(包括您已提交但不在线的任何内容)。 检查以确保您以前没有提交过版本号更高(或相同)的版本。

我花了几个小时试图解决这个问题。 为了确保CFBundleVersion确实比旧版本更高,我打开了一个文本编辑器的info.plist,获取目标信息并阅读属性的版本,请求我的妻子阅读版本在iTunes上确认我没有受到意想不到的早期阿尔茨海默症的袭击。

最后,这不知何故做了伎俩。 我的旧版本是1.0.4。 我试过1.3.5,1.4.5等等; 没有工作。 但令人惊讶的是,当我input2.0.0时,Application Loader喜欢它所看到并上传的内容。 这是由于应用程序加载器中的错误吗?

在xcode4中的版本号旁边的目标摘要是一个版本,我从1开始,每增加一次二进制上传,就解决了这个问题

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

  1. 转到Project Navigator中的顶层项目项目,然后点击它。
  2. 在面板中右键单击应用程序目标。
  3. 点击摘要选项卡。

在摘要选项卡上,您会看到有两个不同的“版本”可以调整。 第一个是“版本”字段,用于Mac应用程序的默认“关于”屏幕。 右边的是“Build Version”。 这是真正重要的App Store提交的一个!

我知道这是一个古老的问题,但我碰到这个问题。 我通过从档案中删除项目,然后重新归档它来解决它。 显然以前的版本的应用程序坐在那里,造成混乱。

注意错误信息。

错误信息在方括号中包含以前的捆绑号码(例如[9])。

因此,您需要增加捆绑号码(例如9.1),尽pipe您的新版本号是1.2

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

 Version number = 1.2 Bundle number = [previous bundle number]++ 

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

我发现这个错误的解决schemeCFBundleVersion必须高于以前的版本

希望这可以帮助!

我通过交换“版本”和“build造”号错了一个错误。

不要把版本字段中的2.3放在Build no。

这里是我如何解决这个问题(我猜这是很多人的问题):

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

2)确保编译字段与你在plist中的“Bundle Version”键相匹配。

这是我的问题,无论出于什么原因,他们都不同步。 我认为当你改变Bundler Version键时,它应该同步(反之亦然)。 但是不pipe什么原因都没有发生 – 可能是一个错误。

我也遇到了同样的问题,这是因为我没有存档,而且我使用的是1.0版本的第一个存档,但使用了1.0.1。 所以我select了iOS设备,归档然后validation。 Ta-daaa,它的工作!

我有同样的问题。 基本上我以前的版本是1.12我想改为1.2,但有提到的错误。 我曾尝试1.20,它确实工作完美

只要我使用苹果公司的“Application Loader”来上传我的ipa文件,就没有一套不断增加的版本号,但是如果我使用XCode的“Organizer”(在3.2.5版本的“Window”下拉菜单中find) ,点击“validation…”button,等待它批准我,然后点击“提交…”button,一切都如预期的一个理智的版本号(一个是当前的单一增量在应用程序商店可用)。

在xcode 4.2中,如果你从info.plist文件修改,似乎不注册捆绑版本。 我直接在xcode面板“信息”中设置我的新捆绑版本,现在它的工作原理!

我find了另外一个解决

如果您select您的目标>>信息>>更新捆绑ID。

我有同样的问题。 首先提交的版本是1.5.20,并且想要更新到1.7.30。

在尝试版本1.8,2.0和3.0失败之后,我将CFBundleVersion更新为10.0,并突然生效。

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

检查你以前上传的版本的捆绑版本,你应该提供更高的捆绑版本与已经上传版本的捆绑版本比较。已经上传的版本可以通过itunesconnect / application / view details / binary details查看。

我花了两个晚上在类似的问题。 我以前的版本是1.02,我试着用1.2,1.20,1.1validation,我总是得到无效的二进制消息。

我通过input2.0作为版本号解决了这个问题,而且工作 。 我怀疑这也是一个错误。 当我最近把游戏从1.0升级到1.1时,我没有得到这个消息,但是这是与xcode 3。谢谢你的提示!

我有类似的问题,花了半小时后,我注意到我正在增加错误的数字。 我没有增加Bundle version而是增加了Info.plist中的Bundleversions, string, short 。 使用CMD + Shift + F在您的项目中search“CFBundleVersion”。您将看到您需要增加CFBundleVersion编号。

尝试更改版本=“1.1.1.0”到版本=“1.1.1”

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

在你的项目目录中有问题的版本号的一个快速grep应该调出违规的库:

grep -r "1.2.3.4" .

我有一个积极的TestFlighttesting版运行。 2020版,407版

我提交了一个应用程序的官方 App Store审查。 2020版,435版,并获得批准。 它只是坐在那里,等着我把它推入App Store。

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

所以,我将Build 2020 (版本436)提交给TestFlight,并被拒绝。

它被拒绝,因为我有一个批准的官方应用程序商店候选人具有相同的内部编号

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