In Xcode 4 sehe ich dies für meine Zielzusammenfassung:
Die Eingabe "Version" entspricht CFBundleShortVersionString
in der Datei info.plist und die Eingabe "Build" entspricht CFBundleVersion
.
Was ist der Unterschied zwischen diesen beiden? Ich sehe viele Leute im Internet, die für beide den gleichen Wert legen wollen, und mein Verdacht ist, dass dies auf Abwärtskompatibilität zurückzuführen ist.
Ich habe zwei Fragen:
1) Wenn ich von vorne anfangen würde, was wäre die beste Vorgehensweise für die Versionierung Ihrer App?
2) In allen früheren Versionen meiner App habe ich nur verwendet CFBundleVersion
. Um den Upgrade-Prozess nicht zu verfälschen, sollte ich weiterhin auf CFBundleVersion
die gleiche Weise wie bisher inkrementieren oder ist es möglich, auf den "richtigen Weg" zu wechseln, sofern einer vorhanden ist?
quelle
Antworten:
Das Apple-Dokument "Information Property List Key Reference" besagt, dass es sich
CFBundleShortVersionString
um eine Release-Version handelt, während es sichCFBundleVersion
um einen Build handelt, der veröffentlicht wurde oder nicht. AuchCFBundleShortVersionString
kann lokalisiert werden, obwohl ich weiß nicht , warum Sie wollen würde, da sie sagen , dass es sein soll „eine Zeichenfolge aus drei Punkten getrennte ganze Zahlen“. Für einen Release-Build wäre es sinnvoll, die beiden Zahlen gleich zu machen. Für einen Entwicklungs-Build können Sie etwas anderes an denCFBundleVersion
Punkt anheften , vielleicht einen weiteren Punkt und eine ganze Zahl.quelle
CFBundleVersion
und nichts als meineCFBundleShortVersionString
, und ich möchte wechseln mitCFBundleVersion
internen darzustellen baut, dann ich brauche mindestens Anfang mit einer ganzen Zahl höher als 1.3.1, nicht wahr? Oder fragt dieser Schalter nur nach Ärger?CFBundleShortVersionString
) ist das einzige, was für die Übermittlung an Apple von Bedeutung ist. Das Build (CFBundleVersion
) kann nach Belieben in der Entwicklung verwendet oder in Ihrer App angezeigt werden. Verwenden Sie Oktal (Basis-8) und iterieren Sie in umgekehrter Reihenfolge um 12, wenn Sie möchten.201606070620
Uhrzeitwert verwendet, z. B. für beide Werte in einer iOS 7-8-9-App.Auf die Frage von JWWalker, warum Sie CFBundleShortVersionString lokalisieren möchten, wäre dies das Dezimaltrennzeichen. In Gebietsschemas, in denen das Dezimaltrennzeichen tatsächlich ein Komma ist, wäre die Version "1.5" beispielsweise "1.5".
quelle
Schnelle Lösung:
Fügen Sie einfach die
CFBundleShortVersionString
zur Plist-Datei hinzu und bearbeiten Sie Ihre Version.InfoPlist.strings
quelle
Informationen zum Hochladen von Binärdateien finden Sie in der Apple-Dokumentation.
Hochladen einer Binärdatei für eine App
quelle