Generazione di un VERSION_STRING da maggiore / minore / patch / costruire definisce per l'uso in un plist

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

Domanda

Ho un plist che viene lavorato con un file di intestazione precompilato e in essa v'è la VERSION_STRING "variabile" usata un paio di volte in campi come CFBundleGetInfoString, vale a dire il valore per la CFBundleGetInfoString chiave è: MyProduct VERSION_STRING Copyright © 2009 MyCorp

In MyHeader.h (ovvero l'insieme come intestazione prefisso Info.plist Vorrei poter costruire VERSION_STRING nella forma MAJOR.MINOR.PATCH.BUILD dove ho

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

Per qualche ragione mi sembra di essere incapace di fare questo. Potrei essere avere uno di quei momenti

È stato utile?

Soluzione

Risulta v'è in realtà un Apple Nota tecnica su questo e una soluzione al problema molto stavo avendo. Quindi, per tutti coloro che possono venire attraverso questo e sta avendo gli stessi problemi ero check-out Nota tecnica TN2175: Pre-elaborazione dei file Info.plist in Xcode Utilizzando il C preprocessore

Altri suggerimenti

Prendere il file plist e rinominarlo con estensione in più (forse un P?). Aggiungere #include "MyHeader.h" all'inizio del file, e la pre-elaborazione nel vostro costruire con il preprocessore C (di solito cpp). Potrebbe essere necessario per filtrare le linee # in più, ma non vedo il motivo per cui non avrebbe funzionato.

Per impostazione predefinita, cpp dovrebbe allo standard output, in modo da aggiungere un comando come questo potrebbe funzionare bene:

cpp myplist.plist.P | grep -v '^#' > myplist.plist
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top