Ich versuche, Zugriff auf das Haupt-NSBundle zu erhalten, um Versions- und Build-Informationen abzurufen. Die Sache ist, ich möchte es schnell versuchen, ich weiß, wie man es in Objective-C mit abruft Build.text = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
. Ich weiß jedoch nicht, wo ich mit Swift anfangen soll. Ich habe versucht, es ohne Erfolg in der neuen Syntax zu schreiben.
89
Antworten:
Was war falsch an der Swift-Syntax? Das scheint zu funktionieren:
quelle
let
aber es sieht ansonsten richtig aus.let text = NSBundle.mainBundle().infoDictionary["CFBundleVersion"]! as String
Schnelle 3/4 Version
Swift 2.x Version
wie hier gesehen .
quelle
Für die endgültige Version von Xcode 6 verwenden
Das "?" Zeichen nach infoDictionary ist hier wichtig
quelle
Hier ist eine einfache Möglichkeit, Build und Version zu erhalten.
Für Swift 4.X.
Für Ziel C.
Lassen Sie mich wissen, wenn ein Problem vorliegt. Das funktioniert bei mir.
quelle
Swifty Weg
AppName
,AppVersion
undBuildNumber
...quelle
Bundle.main
hatte eine leereinfoDictionary
für mich; Vielleicht, weil ich es innerhalb eines Frameworks mache, nicht einer ausführbaren Datei oder App?Bundle(for: MyClass.self)
enthält die erwarteten Werte.In Kürze würde ich es als Erweiterung für UIApplication wie folgt machen:
Dann können Sie einfach Folgendes verwenden, um alles zu erhalten, was Sie benötigen:
quelle
// Gibt die Versionsnummer der App zurück
// Die Build-Nummer der App zurückgeben
quelle
Swift 5.0
Ich habe einen Wrapper für Swift 5 erstellt, um einige App-bezogene Zeichenfolgen an einer Stelle in allen meinen Apps mit dem Namen AppInfo abzurufen .
Sie können es so verwenden:
quelle
CFBundleDisplayName
Dieser Code funktioniert für Swift 3, Xcode 8:
quelle
Bei Swift 3 wird NSBundle durch Bundle ersetzen, und mainBundle wird einfach durch main ersetzt.
quelle
[Update: Xcode 6.3.1] Ich habe alle oben genannten Funktionen ausprobiert und keine dieser Funktionen funktioniert in Xcode 6.3.1, aber ich habe festgestellt, dass dies Folgendes bewirkt:
quelle
Eine weitere Option besteht darin, im AppDelegate die Variablen zu definieren:
Dies kann im AppDelegate als Variable bezeichnet werden
quelle
Swift 3:
quelle
SWIFT 3 Version
quelle
Um ein Ergebnis für das Framework zu erhalten, können Sie es verwenden
oder in Tests
quelle