it-swarm.com.de

CFBundleVersion muss höher sein als die vorherige Version

Ich übermittle ein Update für eine meiner Apps. Ich habe dies Dutzende Male mit den vielen verschiedenen Apps gemacht, die ich entwickelt habe, aber diese hat aus irgendeinem seltsamen Grund versagt. Ich archiviere meine App und versuche dann, das Archiv zu überprüfen, und erhalte die folgende Fehlermeldung:

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 zeigt an, dass sich diese App derzeit bei 1.0 befindet. Ich habe sie so konfiguriert, dass sie zum Hochladen von Version 1.1 bereit ist (Screenshot mit App-Symbolen).

iTunes Connect Screenshot

Hier ist ein Screenshot der zusammenfassenden Informationen meines App-Ziels, die zeigen, dass die Version und die Kurzversion beide "1.1" sind:

enter image description here

Hier ist die obere Hälfte der Info.plist aus dem Bundle-Archiv:

<?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>

Und hier ist das relevante Stück Info.plist aus der App innerhalb des Archivpakets:

<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>

Alle Versionsnummern in meiner aktualisierten App sagen 1.1, iTunesConnect sagt, dass es 1.1 erwartet, aber es beschwert sich, dass die Nummer falsch ist.

Was vermisse ich?

33
Kenny Wyland

Es stellte sich heraus, dass ich in meiner ursprünglichen Einreichung Probleme hatte, was dazu führte, dass die für den Benutzer sichtbare Version "1.0" war, die interne Paketversion jedoch "1.2". Also habe ich meine neue Version in 1.3 und 1.3 geändert und die Einreichung funktioniert.

enter image description here

50
Kenny Wyland

Zu Ihrer Information. Apple denkt 1.11> 1.2. Wenn Sie also von 1.11 auf 1.2 gehen, müssen Sie bis 1.20 gehen.

Genießen.

47
Michael Wilson

Mir ist dasselbe passiert. Meine aktuelle App Store Version war 2.03 . Ich habe versucht, 2.1 hochzuladen. Alles, was ich tun musste, war zu 2.10 zu wechseln, und es funktionierte.

24
John MacAdam

Das Erhöhen des CFBundleShortVersionString oder "Bundle versions string, short" erledigte den Job für mich. 

5
Ammar Mujeeb

So habe ich das Problem behoben (und ich schätze, das ist das Problem vieler Leute):

1) Klicken Sie auf die Registerkarte Allgemein Ihrer Projekteinstellungen (auf die Sie zugreifen können, indem Sie auf den Namen Ihres Projekts klicken, der sich oben in allen Codedateien befindet).

2) Stellen Sie sicher, dass das Build-Feld mit dem übereinstimmt, den Sie in Ihrer Liste für den Schlüssel "Bundle Version" eingegeben haben. 

Dies war das Problem für mich, aus welchem ​​Grund auch immer sie nicht synchron waren. Ich denke, wenn Sie den Bundler-Versionsschlüssel ändern, sollte er synchronisiert werden (und umgekehrt). Aber es geschah nicht aus irgendeinem Grund - es könnte ein Bug sein.

3
Ser Pounce

Ein Grund könnte die nächste Situation sein: Sie haben AppStore Version 1.0 mit Build-Nummer 50 . Gleichzeitig entschied man sich, diese Version zur Überprüfung an AppStore zu senden. Benutzer beginnen es zu testen und alles in Ordnung. Einige Zeit später genehmigt AppStore es und seine nicht veröffentlichten Versionen (es hat den Status des Entwicklermeers). Nachdem Sie einige Änderungen vorgenommen haben, möchten Sie Ihren Testflight-Benutzern eine neue Version geben. Sie entscheiden, die Build-Nummer auf 51 zu erhöhen und die Versionsnummer bei 1.0 zu behalten. Sie erhalten den Fehler, den Sie in diesem Fall in Ihrer Frage beschrieben haben. Sie müssen auch die App-Version erhöhen.

1
swift2geek

Mein Problem war, dass ich es von 1.9.12 bis 1.9.2 ausprobiert habe ... wenn man 1.9.2 darüber nachdenkt, ist es eigentlich 1.9.02, wenn man also 1.9.20 setzt, würde das das Problem lösen.

1

Dies kann völlig aus einem anderen Grund verursacht werden. 

Ich hatte eine aktive TestFlight-Beta. Build 2020, Version 407

Ich habe eine App für den offiziellen App Store-Test eingereicht. Build 2020, Version 435, und es wurde genehmigt. Es sitzt nur da und wartet darauf, dass ich es live in den App Store schiebe.

Ohne eine komplizierte Nebengeschichte hinzuzufügen, wollte ich meinen TestFlight-Betavern eine aktualisierte Version zur Verfügung stellen, um eine Vorschau der offiziellen App Store-Version für einige Tage anzuzeigen, bevor die App Store-Version live geschaltet wird. Warum fragst du? Da sie kostenlose Funktionen erhielten, kosteten sie sofort Geld, sobald die App live geschaltet wurde.

Also habe ich Build 2020, Version 436, an TestFlight übermittelt, und es wurde abgelehnt. 

Es wurde abgelehnt, weil ich einen zugelassenen offiziellen App-Store-Kandidaten mit derselben Build-Nummer habe.

Lösung: Ändern Sie die Build-Nummer Ihrer TestFlight-Version. Ich habe Build 20200 (Ich habe eine zusätzliche Null hinzugefügt), Version 436, an TestFlight übergeben und diese wurde genehmigt. Machen Sie sich keine Sorgen, Sie können diesen Build trotzdem an dieselbe TestFlight-Betagruppe senden, solange Sie dieselbe BundleID verwenden. 

1
jungledev

Wenn die obigen Antworten Ihr Problem nicht beheben, Stellen Sie sicher, dass die Version in Xcode der Version entspricht, die Sie in iTunes connect erstellt haben.

In meinem Fall war bei iTunes connect die Version 1.38, aber die Version 1.3.8 in Xcode . Nachdem ich die Version in Xcode 1.38 geändert hatte, wurde das Problem behoben.

0
Ghulam Rasool