Generación de un VERSION_STRING de mayor / menor / parche / construcción define para su uso en un plist

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

Pregunta

Tengo un plist que se procesa con un archivo de encabezado precompilado y en ella se encuentra la "variable" VERSION_STRING usado un par de veces en campos como la CFBundleGetInfoString, es decir, el valor de la CFBundleGetInfoString clave es: MyProduct VERSION_STRING Copyright © 2009 MyCorp

En MyHeader.h (que es el conjunto como el encabezado prefijo Info.plist me gustaría ser capaz de construir VERSION_STRING en la forma MAJOR.MINOR.PATCH.BUILD donde tengo

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

Por alguna razón, parece que soy incapaz de hacer esto. Yo podría estar teniendo uno de esos momentos

¿Fue útil?

Solución

Resulta que en realidad hay una Nota de Apple Tech en esto y una solución para el problema que tenía. Por lo tanto, para cualquier persona que puede venir a través de este y está teniendo los mismos problemas que el de salida Nota técnica TN2175: Preprocesamiento archivos Info.plist en Xcode Usando el preprocesador C

Otros consejos

Tome su archivo plist y cambie su nombre con una extensión adicional (tal vez una P?). Añadir #include "MyHeader.h" al principio del archivo, y preproceso en su construcción con el preprocesador C (por lo general cpp). Es posible que necesite para filtrar las líneas # extra, pero yo no veo por qué no iba a funcionar.

Por defecto, debe cpp de salida a la salida estándar, por lo que añadir un comando como este podría funcionar bien:

cpp myplist.plist.P | grep -v '^#' > myplist.plist
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top