Generazione di un VERSION_STRING da maggiore / minore / patch / costruire definisce per l'uso in un plist
-
18-09-2019 - |
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
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