Generación de un VERSION_STRING de mayor / menor / parche / construcción define para su uso en un plist
-
18-09-2019 - |
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
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