Ich verwende __DATE__
und __TIME__
in Objective-C, um das Erstelldatum und die Zeit meiner App zu erhalten. Ich kann keine Möglichkeit finden, diese Informationen in Swift zu bekommen. Ist es möglich?
Sie können #line
, #column
und #function
verwenden.
Ursprüngliche Antwort:
Erstellen Sie eine neue Objective-C-Datei in Ihrem Projekt, und wenn Xcode fragt, sagen Sie Ja zum Erstellen des Überbrückungsheaders.
Fügen Sie in dieser neuen Objective-C-Datei die folgende .h
-Datei hinzu:
Und in .m
implementieren diese Funktionen:
Gehen Sie jetzt zum Überbrückungs-Header und importieren Sie das .h
, das wir erstellt haben.
Nun zurück zu einer Ihrer Swift-Dateien:
%Vor%Sie können das Erstellungsdatum und die Erstellungszeit abrufen, ohne zu Ziel-C zurückzukehren. Wenn die App erstellt wird, wird die Info.plist-Datei, die im Bundle enthalten ist, immer aus der Datei in Ihrem Projekt erstellt. Das Erstellungsdatum dieser Datei stimmt also mit dem Erstellungsdatum und der Erstellungszeit überein. Sie können immer Dateien im Paket Ihrer App lesen und deren Attribute abrufen. So können Sie das Build-Datum in Swift erhalten, indem Sie auf seine Info.plist-Dateiattribute zugreifen:
%Vor%Hinweis: Dies ist der Beitrag, der mich dazu gebracht hat, den Überbrückungs-Header zu verwenden, als ich anfänglich dieses Problem hatte. Ich habe diese "Swiftier" -Lösung seitdem gefunden, also dachte ich, ich würde sie für die Zukunft weitergeben.
[EDIT] hat die Variable compileDate hinzugefügt, um das neueste Kompilierungsdatum zu erhalten, auch wenn kein vollständiger Build erstellt wurde. Dies hat nur während der Entwicklung Bedeutung, da Sie einen vollständigen Build erstellen müssen, um die Anwendung im App Store freizugeben, aber es kann dennoch nützlich sein. Es funktioniert auf die gleiche Weise, verwendet aber die gebündelte Datei, die den tatsächlichen Code anstelle der Info.plist-Datei enthält.
%Vor%Tags und Links swift build-time