1. 程式人生 > >CFBundleVersion in the Info.plist file must contain a higher version than that of the previously uploaded version.

CFBundleVersion in the Info.plist file must contain a higher version than that of the previously uploaded version.

這個問題也輪到我遇到了。google很多次還是沒有解決。今天先總結一下。

問題的主要根源貌似是蘋果的版本管理存在一個bug.

以下資訊來自stackflow.

1.apple會刪除版本中數字先頭的0。例如:1.02,實際上會當作1.2來處理。所以從1.02升級到1.1時就會出錯。應為1.1<1.02(1.2)

2.apple有時候會很暈糊,會把你當前上傳的版本,和你其他的app的版本作比較。這顯然相當混亂。

3.apple或許只會用CFBundleVersion的版本來進行比較,Bundle versions string, short這個不要混淆了。

4.忽略

5.你上傳的版本號和你在itunes裡面看到的版本或許一點聯絡都沒有。你可以任意更改itunes中的版本號來給你的使用者看。

   (具體想看上傳的app的版本,可以到ITunes Connect > Manage Your Applications > Application X (your application in question) > View Details (bottom left corner) > Binary Details)

6.忽略

-----------------------------------------------------------------------------------------------------------------------------------------------

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. it is NOT treated as a number. 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)

http://stackoverflow.com/questions/4933093/cfbundleversion-in-the-info-plist-upload-error