Generieren eines Version_String von Major/Minor/Patch/Build Definiert für die Verwendung in einem Plan

StackOverflow https://stackoverflow.com/questions/1870020

Frage

Ich habe einen Plist, der mit einer vorkompilierten Header -Datei verarbeitet wird, und darin gibt es die "Variable" -Version_String, die einige Male in Feldern wie cfbundleGetInfoString verwendet wird, dh der Wert für das Schlüssel -CfbundleGetInfoString: MyProduct Version_String CopyRight © 2009 MyCorpepuls

In myheader.h (das ist das Set als info.plist -Präfix -Header, möchte ich in der Form des Formulars major.minor.patch.build aufbauen, wo ich habe

#define MAJOR 1
#define MINOR 0
#define PATCH 0
#define BUILD 23

Aus irgendeinem Grund scheine ich dazu nicht in der Lage zu sein. Ich könnte nur einen dieser Momente haben

War es hilfreich?

Lösung

Es stellt sich heraus, dass es tatsächlich eine Apple Tech -Notiz zu diesem Problem und eine Lösung für das Problem gibt, das ich hatte. Also für alle, die darauf stoßen können und die gleichen Probleme haben, die ich mir angesehen habe Technischer Anmerkung TN2175: Vorverarbeitungsinfo.plist -Dateien in Xcode mit dem C -Präprozessor

Andere Tipps

Nehmen Sie Ihre Plist -Datei und benennen Sie sie mit einer zusätzlichen Erweiterung (vielleicht ein p?). Hinzufügen #include "MyHeader.h" bis zum Beginn der Datei und die Vorverarbeitung in Ihrem Build mit dem C -Präprozessor (normalerweise cpp). Möglicherweise müssen Sie extra herausfiltern # Zeilen, aber ich verstehe nicht, warum es nicht funktionieren würde.

Standardmäßig, cpp Sollte auf stdout ausgegeben werden, kann ein solcher Befehl einwandfrei hinzufügen:

cpp myplist.plist.P | grep -v '^#' > myplist.plist
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top