Info.plist上传错误中的CFBundleVersion

发布于 2024-10-16 19:36:41 字数 242 浏览 6 评论 0原文

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

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

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

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

"The binary you uploaded was invalid. The key CFBundleVersion in the
Info.plist file must contain a higher version than that of the
previously uploaded version."

I’m getting this error when I come to upload my application.

I set the updated version to 1.2 on iTunes Connect and have also updated the .plist file to 1.2.

I don’t understand why I am getting this error. Any help would be appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(30

挽你眉间 2024-10-23 19:36:41

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

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

There's at least 1 known bug in Apple's upload server that they've not fixed for more than 12 months. Things to beware of:

  1. Apple deletes any leading zeroes inside the version number; i.e. the "whole string" is NOT treated as a number, instead the bits between dots are treated as SEPARATE numbers. e.g. "1.02" is treated by Apple as "1.2". So, for Apple, 1.02 is GREATER THAN 1.1
  2. Apple sometimes gets "confused" and seems to compare your uploaded-app to the version of a DIFFERENT app you've previously uploaded. It's happened to a lot of people, and I've seen it myself a few times
  3. Apple is supposed to be comparing the "CFBundleVersion" (i.e. "Bundle version" not the "Bundle versions string, short"); don't get mixed up.
  4. Frequently, the only viable solution is to bump the front number (e.g. the "2" in "2.4" -- increase it to "3")
  5. The version number you upload is unrelated to the version number that appears in iTunes - you can put anything you want there, and that's what your users will see
  6. ...except, if you also report the "actual" version number inside your app, the user will see the CFBundleVersion (usually, depends how you code it), rather than the iTunes version (which - I think - cannot be accessed from inside your app)
羞稚 2024-10-23 19:36:41

更新内部版本号。版本号很重要,但内部版本号才是最重要的。例如,我的应用程序的初始版本为:

version #: 1.0
build #:   1.0

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

version #: 1.1
build #:   1.0

它不会接受上传。只需将构建 # 增加到 1.1 即可接受上传。

Update the build number. The version number is important, but the build number makes all the difference. For example I had my initial version of an app as:

version #: 1.0
build #:   1.0

However when I tried to upload the next version, i.e.

version #: 1.1
build #:   1.0

It wouldn't accept the upload. By simply incrementing the build # to 1.1 the upload was accepted.

幽蝶幻影 2024-10-23 19:36:41

如果您不重新存档应用程序,Xcode 4 会认为您要重新上传相同版本。即使更改 Bundle 版本并重新构建,上传也会失败。请记住在产品菜单中执行“存档”!

Xcode 4 will think you want to re-upload the same version if you do not re-archive the application. Even if you change the Bundle Version and rebuild, the upload will fail. Remember to do a "Archive" in the Product menu!

财迷小姐 2024-10-23 19:36:41

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

  1. 前往 iTunes Connect ->管理您的应用程序
  2. 选择您要检查其先前版本的应用程序
  3. 单击标记为查看详细信息的蓝色按钮
  4. 单击标记为二进制详细信息的链接
  5. 查找给定的值 Bundle Version

即使我以为我提交了版本号 1.0.1,Apple 存储的实际数字是 101。上面的一些评论让我相信我需要将版本更改为 2.0 (20) 或 1.5 ( 15) 或 1.2 (12)——如您所见,这些都小于 101。更新我的版本号 102(不带点)解决了这个问题。

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.

ㄟ。诗瑗 2024-10-23 19:36:41

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

因此,有应用程序版本和捆绑版本。这个问题与bundle版本有关。

This article points out that the version number as seen in the app-store is not necessarily the same as the bundle version number. When you view your app's details in iTunes, there's a link named 'Binary Details'. That page shows the bundle version. One of the apps I was working on was at version 1.0, but it's bundle version was 2.0. Uploading a bundle with version 1.1 failed, but 2.1 did work.

So, there's an app version and a bundle version. This problem has to do with the bundle version.

自由如风 2024-10-23 19:36:41

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

It seems confusion is caused by the number format. The bundle version is not a decimal. It is a version (or build perhaps) so 1.11 is actually "one point eleven". Hence 1.11 is greater than 1.2. I had success using 1.20 in this case.

泼猴你往哪里跑 2024-10-23 19:36:41

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

在此处输入图像描述

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

Usually, this may caused due to the absence of version number. So, add version number under Identity, and also check the Build number .

enter image description here

Keep Coding......... :)

苯莒 2024-10-23 19:36:41

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

For me (Xcode 4.5) changing build number solved the problem. set versions to 1.0.2 ... 2.0.2 etc. then increase build # (Adam 3 point give me an idia where to look).

挽心 2024-10-23 19:36:41

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

You should be able to login to iTunes Connect and see the current version of the app (including any you've submitted but are not live). Check to make sure you haven't previous submitted a version with a higher (or the same) version number.

晨光如昨 2024-10-23 19:36:41

我花了几个小时试图解决这个问题。我已尽全力检查以确保 CFBundleVersion 确实高于旧版本,通过在文本编辑器上打开 info.plist,获取目标信息并读取属性上的版本,要求我妻子读取版本在 iTunes 上确认我没有受到意外的早期阿尔茨海默氏症的影响。

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

I spent a few hours trying to resolve this issue. I have checked with all my might to ensure the CFBundleVersion was indeed higher than the older version, by opening the info.plist on a text editor, get info of the target and read the version on the properties, asked my wife to read the version on iTunes to confirm I did not get hit by an unexpected earlier Alzheimer.

In the end, this somehow did the trick. My older version was 1.0.4. I tried 1.3.5, 1.4.5 etc.; none worked. But surprising enough, when I entered 2.0.0, Application Loader likes what it saw and uploaded it. Is this due to a bug in the Application Loader?

淡看悲欢离合 2024-10-23 19:36:41

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

In the targets summary next to the version number in xcode4 is a build, I started this at 1, I increment each time I do a binary upload, this resolved the issue for me

生生不灭 2024-10-23 19:36:41

如果报告的错误是 CFBundleVersion,则修复通常非常简单。检查/尝试此操作:

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

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

If the error reported is the CFBundleVersion the fix is usually pretty easy. Check/try this:

  1. Go to the top level project item in the Project Navigator and click on it.
  2. In the panel just to the right click on the application target.
  3. Click on the summary tab.

On the summary tab you will see that there are two different "versions" that can be adjusted. The first one is the "Version" field, which is used in the default "About" screen for Mac apps. The one to the right is the "Build Version." This is the one that really matters for App Store submissions!

寻找我们的幸福 2024-10-23 19:36:41

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

I know this is an old question, but I just ran into this issue. I solved it by deleting the project from the archive, then re-archiving it. Apparently the previous version of the app was sitting in there and causing confusion.

半山落雨半山空 2024-10-23 19:36:41

请注意错误消息。

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

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

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

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

Pay attention to the error message.

The error message contains previous bundle number in square brackets (e.g. [9]).

Thus you need to increment that bundle number (e.g. 9.1), although your new version number is 1.2

So when you update the version from 1.1 to 1.2 in iTunes Connect you need to set these values in your project

Version number = 1.2
Bundle number = [previous bundle number]++
冰魂雪魄 2024-10-23 19:36:41

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

I had the same problem and it happened due to I haven't archived and I was using the first archive that I used for the 1.0 but with the 1.0.1. So I selected iOS device, archived and then validate. Ta-daaa, it worked!

梦途 2024-10-23 19:36:41

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

I have a iPhone and an iPad version in my project, the infoplist for the ipad was not associated with the ipad product for some reason, Checking Target membership and associating it with the correct product solved this issue for me.

明媚殇 2024-10-23 19:36:41

我在这篇文章中找到了此错误的解决方案 CFBundleVersion 必须高于以前的版本< /a>

希望这有帮助!

I found the solution for this error in this post CFBundleVersion must be higher than previous version

hope this helps!

╰つ倒转 2024-10-23 19:36:41

我因互换“版本”和“版本”编号而犯了一个错误。

我没有将 2.3 放在“版本”字段中,而是将其放在“内部版本号”中。

I made a mistake by interchanging the 'Version' and the 'Build' no.

Instead of putting the 2.3 in the Version field, I put it in the Build no.

枫以 2024-10-23 19:36:41

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

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

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

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

Here is how I fixed the problem (and I'm guessing this is the issue with a lot of people):

1) Click on the general tab of your projects settings (which can be accessed by clicking on your project name which is at the top of all the code files).

2) Make sure the build field matches what you put in your plist for the "Bundle Version" key.

This was the problem for me, for whatever reason they were out of sync. I think when you change Bundler Version key it's supposed to sync up (and vice versa). But it didn't happen for whatever reason - might be a bug.

执手闯天涯 2024-10-23 19:36:41

我也有同样的问题。基本上我以前的版本是 1.12 我想将其更改为 1.2 但出现了上述错误。我确实尝试过 1.20 并且它运行完美

I had the same problem. Basically my previous version was 1.12 I wanted to change it to 1.2 but had the mentioned error. I did try 1.20 and it did work perfect

他不在意 2024-10-23 19:36:41

只要我使用Apple的“应用程序加载器”上传我的ipa文件,任何不断增加的版本号都不起作用,但如果我使用XCode的“组织器”(在版本3.2.5中的“窗口”下拉菜单下找到) ,单击“验证...”按钮,等待它批准我,然后单击“提交...”按钮,一切都按预期进行,版本号正常(比当前版本号高出一个增量)可在应用程序商店购买)。

No set of ever-increasing version numbers worked as long as I was using Apple's "Application Loader" to upload my ipa file, but if I used XCode's "Organizer" (found under the "Window" pull-down in version 3.2.5), clicked the "Validate..." button, waited for it to approve me, then click the "Submit..." button, everything went as expected with a sane version number (one that is a single increment above that which is currently available on the app store).

许仙没带伞 2024-10-23 19:36:41

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

in xcode 4.2 it seems do not register the bundle version if you modify from info.plist file.
I set my new bundle version directly in xcode panel "info" and now it works!

撕心裂肺的伤痛 2024-10-23 19:36:41

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

如果您选择目标>>信息>>更新捆绑包 ID。

I found another solution.

If you select your target>>info>>update Bundle ID.

晨曦慕雪 2024-10-23 19:36:41

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

在尝试版本 1.8、2.0 和 3.0 失败后,我将 CFBundleVersion 更新到 10.0,突然就可以了。

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

I had the same problem. First submitted version was 1.5.20 and wanted to update to 1.7.30.

After unsuccessfully trying versions 1.8, 2.0 and 3.0, I updated my CFBundleVersion to 10.0 and suddenly it worked.

I'm not sure what the logic behind this behavior is, but it caused me to waste about 2 days of worktime.

自在安然 2024-10-23 19:36:41

检查您之前上传的版本的捆绑版本,与已上传版本的捆绑版本相比,您应该提供更高的捆绑版本。已上传的版本可以通过itunesconnect/application/查看详细信息/二进制详细信息查看。

Check your bundle version of the previously uploaded version,you should give higher bundle version compare to the bundle version of already uploaded version.The already uploaded version can be view by itunesconnect/application/view details/binary details.

烟酉 2024-10-23 19:36:41

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

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

I've spent two nights on a similar issue. My previous version was 1.02, and I tried validating with 1.2, 1.20, 1.1 and I always got the invalid binary message.

I solved it by entering 2.0 as the version number, and that worked. I suspect this is a bug as well. I did not get this message when recently upgrading my game from 1.0 to 1.1, but that was with xcode 3. Thanks for the tip!

复古式 2024-10-23 19:36:41

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

I had similar problem and after spending half an hour I noticed I was increasing wrong number.
Instead of increasing Bundle version I was increasing Bundleversions, string, short in Info.plist.
Search "CFBundleVersion" in your project using CMD + Shift + F. You will see you need to increase CFBundleVersion number.

缱倦旧时光 2024-10-23 19:36:41

尝试将版本=“1.1.1.0”更改为版本=“1.1.1”

Try change version="1.1.1.0" to version="1.1.1"

相对绾红妆 2024-10-23 19:36:41

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

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

grep -r "1.2.3.4" 。

As of late October Apple requires version numbers to be less than 4 digits (1.2.3 or 1.23 as opposed to 1.2.3.4 or 1.234). This applies to libraries too!

A quick grep for the offending version number in your project directory should turn up the offending library:

grep -r "1.2.3.4" .

◇流星雨 2024-10-23 19:36:41

我正在运行一个活跃的 TestFlight 测试版。 Build 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 组。

I had an active TestFlight beta running. Build 2020, version 407

I submitted an app for official App Store review. Build 2020, version 435, and it was approved. It is just sitting there, waiting for me to push it live into the App Store.

Without adding a complicated side story, what I wanted to do is to give my TestFlight beta users an updated version to preview the official App Store version for a few days, before making the App Store version live. Why, you ask? Because they were getting free features, there were about to cost money once the app would go live.

So, I submitted Build 2020, version 436, to TestFlight, and it was rejected.

It was rejected because I have an approved official App-Store candidate with the same build number

Solution: Change the build number of your TestFlight version. I submitted Build 20200 (I added an extra zero) version 436 to TestFlight, and it was approved. Don't worry, you can still push this build to the same TestFlight beta group, as long as you're still using the same BundleID.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文