it-swarm.com.de

CFBundleVersion in der Info.plist-Upload-Fehler

"Die hochgeladene Binärdatei war ungültig. Der Schlüssel CFBundleVersion in der Datei Info.plist muss eine höhere Version als die zuvor hochgeladene Version

Diese Fehlermeldung wird angezeigt, wenn ich meine Anwendung hochlade.

Ich habe die aktualisierte Version in iTunes Connect auf 1.2 gesetzt und auch die .plist-Datei auf 1.2 aktualisiert. 

Ich verstehe nicht, warum ich diesen Fehler bekomme. Jede Hilfe wäre dankbar. Vielen Dank.

105
Adam H

Es gibt mindestens einen bekannten Fehler in Apples Upload-Server, den sie seit mehr als 12 Monaten nicht behoben haben. Dinge zu beachten:

  1. Apple löscht alle führenden Nullen innerhalb der Versionsnummer. d. h. die "ganze Kette" wird NICHT als Zahl behandelt, sondern die Bits zwischen Punkten werden als getrennte Zahlen behandelt. z.B. "1.02" wird von Apple als "1.2" behandelt. Für Apple ist 1.02 also größer als 1.1
  2. Apple wird manchmal "verwirrt" und scheint Ihre hochgeladene App mit der Version einer anderen App zu vergleichen, die Sie zuvor hochgeladen haben. Es ist vielen Menschen passiert, und ich habe es selbst einige Male gesehen
  3. Apple soll die "CFBundleVersion" vergleichen (d. H. "Bundle-Version" und nicht "Bundle-Versionszeichenfolge, kurz"). nicht mischen.
  4. Häufig besteht die einzig gangbare Lösung darin, die Frontnummer zu erhöhen (z. B. die "2" in "2.4" - erhöhen Sie sie auf "3").
  5. Die Versionsnummer, die Sie hochladen, steht in keinem Zusammenhang mit der Versionsnummer, die in iTunes angezeigt wird. Sie können dort alles ablegen, was Sie möchten. Dies wird Ihren Benutzern angezeigt
  6. ... außer wenn Sie auch die "tatsächliche" Versionsnummer in Ihrer App angeben, wird dem Benutzer die CFBundleVersion (normalerweise hängt davon ab, wie Sie sie codieren) angezeigt, und nicht die iTunes-Version (auf die ich glaube - kann nicht zugegriffen werden in deiner App)
207
Adam

Aktualisieren Sie die Build-Nummer. Die Versionsnummer ist wichtig, aber die Buildnummer macht den Unterschied. Zum Beispiel hatte ich meine ursprüngliche Version einer App als:

version #: 1.0
build #:   1.0

Wenn ich jedoch versuchte, die nächste Version hochzuladen, d. H.

version #: 1.1
build #:   1.0

Der Upload würde nicht akzeptiert. Durch einfaches Erhöhen der Build # auf 1.1 wurde der Upload akzeptiert.

29
The Crazy Chimp

Xcode 4 wird der Ansicht sein, dass Sie dieselbe Version erneut hochladen möchten, wenn Sie die Anwendung nicht erneut archivieren. Selbst wenn Sie die Bundle-Version ändern und neu erstellen, schlägt der Upload fehl. Denken Sie daran, im Produktmenü ein " Archiv " zu machen!

9
Patrice Gagnon

Viele der Antworten hier haben mir letztendlich geholfen, aber erst als ich die genaue "Versionsnummer" sah, vergleicht Apple. 

  1. Gehen Sie zu iTunes Connect -> Verwalten Sie Ihre Anwendungen
  2. Wählen Sie die Anwendung aus, für die Sie die vorherige Version überprüfen möchten
  3. Klicken Sie auf die blaue Schaltfläche mit der Bezeichnung View Details
  4. Klicken Sie auf den Link Binäre Details
  5. Finde den angegebenen Wert für Bundle Version

Obwohl ich dachte, ich hätte die Versionsnummer 1.0.1 eingereicht, war die tatsächliche Anzahl, die Apple gespeichert hatte, 101. Einige der obigen Kommentare ließen mich glauben, dass ich meine Version auf 2.0 (20) oder 1.5 (15) oder 1.2 (12) ändern musste ) - das sind alles weniger als 101, wie Sie sehen können. Die Aktualisierung meiner Versionsnummer 102 (ohne Punkte) hat das Problem behoben.

7
Kyle Hayes

Dieser Artikel weist darauf hin, dass die im App-Store angezeigte Versionsnummer nicht unbedingt mit der Versionsnummer des Pakets übereinstimmt. Wenn Sie die Details Ihrer App in iTunes anzeigen, gibt es einen Link namens "Binary Details". Diese Seite zeigt die Bundle-Version. Eine der Apps, an denen ich arbeitete, war in Version 1.0, aber die Bundle-Version war 2.0. Das Hochladen eines Bundles mit Version 1.1 ist fehlgeschlagen, aber 2.1 hat funktioniert.

Es gibt also eine App-Version und eine Bundle-Version. Dieses Problem hat mit der Bundle-Version zu tun.

6
Pieter Witvoet

Es scheint, dass Verwirrung durch das Zahlenformat verursacht wird. Die Bundle-Version ist keine Dezimalzahl. Es ist eine Version (oder Build), also 1.11 ist eigentlich "One Point Eleven". Daher ist 1,11 größer als 1,2. Ich hatte in diesem Fall mit 1.20 Erfolg.

5
Gavin

Dies kann in der Regel auf fehlende Versionsnummer zurückzuführen sein. Fügen Sie also unter Identity die Versionsnummer hinzu und überprüfen Sie auch die Build-Nummer.

enter image description here

Codiere weiter ......... :)

4

Für mich (Xcode 4.5) wurde die Änderung der Build-Nummer behoben. setze die Versionen auf 1.0.2 ... 2.0.2 usw. und erhöhe dann Build # (Adam 3 Punkt gibt mir eine Idia, wo ich suchen muss). 

3
setdvd

Ich weiß, das ist eine alte Frage, aber ich bin gerade auf dieses Problem gestoßen. Ich löste es, indem ich das Projekt aus dem Archiv löschte und es dann erneut archivierte. Anscheinend saß die Vorgängerversion der App da und verursachte Verwirrung.

2
Henry F

In der Zielzusammenfassung neben der Versionsnummer in xcode4 befindet sich ein Build. Ich habe dies bei 1 gestartet. Jedes Mal, wenn ich einen binären Upload mache, habe ich das Inkrement erhöht

2
axe

Ich habe ein paar Stunden damit verbracht, dieses Problem zu lösen. Ich habe mit aller Kraft geprüft, ob die CFBundleVersion in der Tat höher war als die ältere Version, indem ich die info.plist in einem Texteditor öffnete, Informationen zum Ziel abrufen und die Version der Eigenschaften lesen auf iTunes zur Bestätigung, dass ich nicht von einem unerwarteten früheren Alzheimer getroffen wurde. 

Am Ende war das irgendwie der Trick. Meine ältere Version war 1.0.4. Ich habe 1.3.5, 1.4.5 usw. ausprobiert; keiner hat funktioniert Aber überraschend: Wenn ich 2.0.0 eingebe, gefällt Application Loader, was es gesehen hat, und lädt es hoch. Liegt das an einem Fehler im Application Loader? 

2
Wayne Lo

Beachten Sie die Fehlermeldung.

Die Fehlernachricht enthält die vorherige Bündelnummer in eckigen Klammern (z. B. [9]).

Daher müssen Sie diese Paketnummer erhöhen (z. B. 9.1), obwohl Ihre neue Versionsnummer 1.2 ist

Wenn Sie also die Version von 1.1 auf 1.2 in iTunes Connect aktualisieren, müssen Sie diese Werte in Ihrem Projekt festlegen

Version number = 1.2
Bundle number = [previous bundle number]++
2
Serge Seletskyy

Wenn der gemeldete Fehler die CFBundleVersion ist, ist das Update normalerweise ziemlich einfach. Überprüfe/versuche das:

  1. Gehen Sie im Projektnavigator zum Projektobjekt der obersten Ebene und klicken Sie darauf.
  2. Klicken Sie im Panel nur rechts auf das Anwendungsziel.
  3. Klicken Sie auf die Übersichtstabelle.

Auf der Übersichtsseite sehen Sie, dass es zwei verschiedene "Versionen" gibt, die angepasst werden können. Das erste ist das Feld "Version", das im Standardbildschirm "About" für Mac-Apps verwendet wird. Die rechte Seite ist die "Build-Version". Dies ist der Punkt, der für den App Store wirklich wichtig ist!

2
David Hoelzer

Sie sollten sich bei iTunes Connect anmelden können und die aktuelle Version der App (einschließlich der von Ihnen eingereichten, aber nicht live) App sehen. Stellen Sie sicher, dass Sie noch keine Version mit einer höheren (oder gleichen) Versionsnummer übermittelt haben.

2
Danny Tuppeny

Ich habe einen Fehler gemacht, indem ich die 'Version' und die 'Build' -Nummer ausgetauscht habe.

Anstatt die Version 2.3 in das Feld Version zu setzen, habe ich sie in die Build-Nr.

1
Pritesh Desai

Ich habe eine iPhone- und eine iPad-Version in meinem Projekt, die Infoplist für das ipad war aus irgendeinem Grund nicht mit dem ipad-Produkt verknüpft. Durch die Überprüfung der Target-Mitgliedschaft und das Verknüpfen mit dem richtigen Produkt wurde dieses Problem für mich gelöst.

1
Jay Adams

Ich habe die Lösung für diesen Fehler in diesem Beitrag gefunden CFBundleVersion muss höher sein als die vorherige Version

hoffe das hilft!

Ich hatte das gleiche Problem und es geschah, weil ich nicht archiviert habe und ich das erste Archiv verwendete, das ich für die 1.0 verwendet habe, aber mit der 1.0.1. Also habe ich das iOS-Gerät ausgewählt, archiviert und dann validiert. Ta-Daaa, es hat funktioniert!

1
Gonzo345

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 oberhalb aller 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.

1
Ser Pounce

Kein Satz ständig steigender Versionsnummern funktionierte, solange ich Apples "Application Loader" zum Hochladen meiner ipa-Datei verwendet habe, aber wenn ich XCodes "Organizer" verwendet habe (zu finden unter "Fenster" in Version 3.2.5). , klickte auf die Schaltfläche "Validate ...", wartete darauf, dass sie mich genehmigte, und klickte auf die Schaltfläche "Submit ...". Alles lief erwartungsgemäß mit einer vernünftigen Versionsnummer (einer, die um ein einzelnes Inkrement über dem aktuellen Wert liegt verfügbar im Appstore).

0
Honcho

Ich hatte ein ähnliches Problem und nach einer halben Stunde bemerkte ich, dass die falsche Nummer zunahm ... /. Anstelle vonBundle versionstieg ichBundleversions, string, shortin Info.plist . Ihr Projekt mit CMD + Shift + F. Sie werden feststellen, dass Sie die CFBundleVersion-Nummer erhöhen müssen. 

0
Josip B.

Überprüfen Sie die Bundle-Version der zuvor hochgeladenen Version. Sie sollten eine höhere Bundle-Version angeben, die mit der Bundle-Version der bereits hochgeladenen Version verglichen wird. Die bereits hochgeladene Version kann über itunesconnect/application/view details/binary details angezeigt werden.

0
Vishnu R Kaimal

Ich habe eine andere Lösung gefunden.

Wenn Sie Ihr Ziel auswählen, >> info >>, aktualisieren Sie die Paket-ID.

0
Michael

Ab Ende Oktober Apple verlangt von Versionsnummern weniger als 4 Ziffern (1.2.3 oder 1.23 gegenüber 1.2.3.4 oder 1.234). Dies gilt auch für Bibliotheken!

Ein kurzes Grep für die beleidigende Versionsnummer in Ihrem Projektverzeichnis sollte die beleidigende Bibliothek anzeigen:

grep -r "1.2.3.4" .

0
Warpling

in xcode 4.2 wird die Bundle-Version anscheinend nicht registriert, wenn Sie die Datei info.plist ändern .. Ich setze meine neue Bundle-Version direkt im Xcode-Panel "info" ein und jetzt funktioniert es!

0
Marconi

Ich hatte das gleiche Problem. Die erste eingereichte Version war 1.5.20 und wollte auf 1.7.30 aktualisieren.

Nachdem ich die Versionen 1.8, 2.0 und 3.0 erfolglos ausprobiert habe, habe ich meine CFBundleVersion auf 10.0 aktualisiert und plötzlich hat es funktioniert.

Ich bin nicht sicher, was die Logik hinter diesem Verhalten ist, aber ich musste ungefähr zwei Tage der Arbeitszeit vergeuden.

0
BastiBen

Ich habe zwei Nächte mit einem ähnlichen Thema verbracht. Meine Vorgängerversion war 1.02 und ich habe versucht, mit 1.2, 1.20, 1.1 zu validieren, und erhielt immer die ungültige binäre Nachricht.

Ich habe es gelöst, indem ich 2.0 als Versionsnummer eingegeben habe, und das hat funktioniert . Ich vermute, das ist auch ein Fehler. Ich habe diese Nachricht nicht erhalten, als ich kürzlich mein Spiel von 1.0 auf 1.1 aufgerüstet habe, aber das war mit Xcode 3. Danke für den Tipp!

0
machineboy

Versuchen Sie, Version = "1.1.1.0" in Version = "1.1.1" zu ändern.

0
RouR

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. 

0
jungledev

Ich hatte das gleiche Problem. Im Grunde war meine Vorgängerversion 1.12. Ich wollte sie auf 1.2 ändern, hatte aber den erwähnten Fehler. Ich habe 1.20 ausprobiert und es hat perfekt funktioniert

0
mukaissi