Ich schreibe eine iPhone App. Es wurde bereits veröffentlicht, aber ich möchte eine Funktion hinzufügen, bei der die Versionsnummer angezeigt wird.
Ich möchte dies lieber nicht mit jeder Version, die ich veröffentliche, manuell tun müssen ...
Gibt es in Ziel-C eine Möglichkeit, herauszufinden, wie die Version meiner App aussieht?
Antworten:
Wie hier beschrieben , verwende ich ein Skript, um eine Header-Datei mit meiner aktuellen Subversion-Versionsnummer neu zu schreiben. Diese Revisionsnummer wird in der Konstante kRevisionNumber gespeichert. Ich kann dann auf die Versions- und Versionsnummer zugreifen, indem ich etwas Ähnliches wie folgt verwende:
Dadurch wird eine Zeichenfolge im Format "Version 1.0 (51)" erstellt.
quelle
CFBundleShortVersionString
was Sie normalerweise für 'Version' undCFBundleVersion
für Build-Nummer möchten .[NSString stringWithFormat:@"Version: %@ (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"], [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]]
Aufbauend auf Brad Larsons Antwort hat dies für mich gut funktioniert, wenn Sie Haupt- und Nebenversionsinformationen in der Info-Liste gespeichert haben (wie ich es bei einem bestimmten Projekt getan habe):
Jetzt kann das manuelle Überarbeiten einer Nebenversion schmerzhaft sein. Daher ist die Verwendung eines Tricks zur Versionsnummer des Quell-Repositorys ideal. Wenn Sie das nicht eingebunden haben (wie ich es nicht getan habe), kann das obige Snippet nützlich sein. Außerdem wird der Anzeigename der App angezeigt.
quelle
Schnelle Version für beide separat:
Swift 3
Swift 2
Es ist in diesem Repo enthalten, probieren Sie es aus:
https://github.com/goktugyil/EZSwiftExtensions
quelle
Das habe ich in meiner Bewerbung gemacht
Hoffentlich hilft diese einfache Antwort jemandem ...
quelle
Sie können die
CFBundleShortVersionString
Zeichenfolge in Ihrer plist.info angeben und diese mithilfe der bereitgestellten API programmgesteuert lesen .quelle
Es gibt zwei Dinge - Build-Version und App-Version.
So erhalten Sie die App-Version:
So erhalten Sie die Build-Version:
quelle
objectForInfoDictionaryKey:
anstelle von zu verwenden,infoDictionary] objectForKey:
da ersterer den lokalisierten Wert zurückgibt (falls vorhanden). Wahrscheinlich macht das hier aber keinen Unterschied;)quelle
Ein prägnanter Weg, um eine Versionszeichenfolge im XYZ- Format zu erhalten, ist:
Oder nur für XY:
Beide Snippets geben Zeichenfolgen zurück, die Sie der Texteigenschaft Ihres Beschriftungsobjekts zuweisen würden, z
quelle
Sie können versuchen, das Wörterbuch wie folgt zu verwenden: -
quelle
Lesen Sie die Datei info.plist Ihrer App und ermitteln Sie den Wert für den Schlüssel CFBundleShortVersionString. Wenn Sie info.plist lesen, erhalten Sie ein NSDictionary-Objekt
quelle
Sie können das infoDictionary verwenden, das die Versionsdetails aus der info.plist Ihrer App abruft. Dieser Code funktioniert für Swift 3. Rufen Sie einfach diese Methode auf und zeigen Sie die Version in einem beliebigen bevorzugten UI-Element an.
quelle
Swift 5:
Es gibt zwei Dinge - App-Version und Build-Version
So erhalten Sie die App-Version:
So erhalten Sie die Build-Version:
Dank
@Brad Larson♦
vielquelle
Wenn Sie eine Kombination aus Version und Build-Nummer benötigen, können Sie Swift 3 auf kurze Weise verwenden :
Fügen Sie
as! String
am Ende der ZeileappVersion
oder einbuildNum
hinzu, um nur diesen Teil alsString
Objekt zu erhalten. Keine Notwendigkeit dafür, wenn Sie das volle suchenversionInfo
.Ich hoffe das hilft!
quelle
Basierend auf @rajat Chauhan Antwort ohne erzwungene Besetzung
String
.quelle
Dies ist eine gute Sache, um mit einem Revisionskontrollsystem umzugehen. Auf diese Weise können Sie, wenn Sie einen Fehlerbericht von einem Benutzer erhalten, diese Code-Revision überprüfen und (hoffentlich) den Fehler reproduzieren, der genau denselben Code wie der Benutzer ausführt.
Die Idee ist, dass Sie jedes Mal, wenn Sie einen Build ausführen, ein Skript ausführen, das die aktuelle Versionsnummer Ihres Codes abruft und eine Datei in Ihrem Projekt aktualisiert (normalerweise mit einer Art Token-Ersatz). Sie können dann eine Fehlerbehandlungsroutine schreiben, die immer die Versionsnummer in der Fehlerausgabe enthält, oder Sie können sie auf einer "Info" -Seite anzeigen.
quelle
Sie können diese Methode ausprobieren:
quelle