Création d'un version_string de majeur / mineur / patch / build définit pour une utilisation dans un plist

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

Question

J'ai un plist qui est traité avec un fichier d'en-tête précompilé et là est la « variable » version_string utilisé plusieurs fois dans des domaines tels que CFBundleGetInfoString, à savoir la valeur de la CFBundleGetInfoString clé est: MyProduct version_string Copyright © 2009 MyCorp

Dans MyHeader.h (qui est l'ensemble comme l'en-tête de préfixe Info.plist je voudrais être en mesure de construire version_string dans la forme MAJOR.MINOR.PATCH.BUILD où je

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

Pour une raison quelconque, je semble être incapable de le faire. Je pourrais juste être d'avoir un de ces moments

Était-ce utile?

La solution

Transforme là-bas est en fait un Apple Tech Note sur cette question et une solution au problème même que je faisais. Donc, pour tous ceux qui peuvent venir à travers cela et est d'avoir les mêmes problèmes que je consulter note technique TN2175: Traitement des fichiers Info.plist dans Xcode Utilisation du préprocesseur C

Autres conseils

Prenez votre fichier plist et le renommer avec une extension supplémentaire (peut-être un P?). Ajouter #include "MyHeader.h" au début du fichier, et prétraiter dans votre construction avec le préprocesseur C (généralement cpp). Vous devrez peut-être filtrer les lignes de # supplémentaires, mais je ne vois pas pourquoi cela ne fonctionnerait pas.

Par défaut, cpp devrait sortie stdout, afin d'ajouter une commande comme cela pourrait bien fonctionner:

cpp myplist.plist.P | grep -v '^#' > myplist.plist
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top