CFBundleVersion必须高于以前的版本

我正在提交更新到我的一个应用程序。 我已经用我开发的许多不同的应用程序做了几十次,但是这个失败了一些奇怪的原因。 我将我的应用程序归档,然后尝试validation归档并获取以下错误消息:

This bundle is invalid. The key CFBundleVersion in the Info.plist file must contain a higher version than that of the previously uploaded version. 

iTunesConnect显示这个应用程序目前在1.0,我已经configuration它准备上传1.1版(截图与应用程序图标编辑):

iTunes Connect截图

下面是我的应用程序目标的摘要信息的屏幕截图,显示版本和简短版本都是“1.1”:

在这里输入图像说明

这里是Bundle Archive中Info.plist的上半部分:

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppStoreFileSize</key> <integer>20859080</integer> <key>ApplicationProperties</key> <dict> <key>ApplicationPath</key> <string>Applications/MyApp.app</string> <key>CFBundleIdentifier</key> <string>com.mydomain.myapp</string> <key>CFBundleShortVersionString</key> <string>1.1</string> 

以下是归档包中的应用程序中Info.plist的相关部分:

 <key>CFBundleShortVersionString</key> <string>1.1</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleSupportedPlatforms</key> <array> <string>iPhoneOS</string> </array> <key>CFBundleVersion</key> <string>1.1</string> 

我更新的应用程序中的所有版本号都表示1.1,iTunesConnect表示它期望1.1 …但是它抱怨数字是错误的。

我错过了什么?

事实certificate,我原来的提交中有一些问题,导致用户可见的版本是“1.0”,但内部捆绑版本是“1.2”。 所以我改变了我的新版本1.3和1.3,并提交工作。

在这里输入图像说明

仅供参考。 苹果认为1.11> 1.2,所以如果你从1.11到1.2,你需要一直到1.20。

请享用。

同样的事情发生在我身上。 我目前的App Store版本是2.03 。 我试图上传2.1 。 我所要做的就是把它改成2.10 ,然后运行。

增加CFBundleShortVersionString或“Bundle versions string string,short”为我做了Job。

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

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

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

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

这可能是完全由另一个原因造成的。

我有一个积极的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版组。