Plus tôt aujourd'hui, je lazy-tweeté pour voir si quelqu'un avait une liste définitive des macros Xcode expansion du projet. Si vous ouvrez un modèle de projet et fouiller, vous verrez aussi bien dans les noms de fichiers et le contenu des fichiers, ces paroles toutes capitalisations entouré par trois, comme souligne ___PROJECTNAME___. Ce sont des macros de remplacement qui se remplacer par une autre valeur lorsque vous créez votre projet basé sur ce modèle. ___PROJECTNAME___, Par exemple, obtient remplacé par le nom du projet tel qu'il a été tapé par l'utilisateur dans l'assistant nouveau projet.
J'ai assemblé à partir de quelques sources différentes d'une liste de toutes les macros connues.
Une des valeurs dans ce tableau, cependant, ne pas y être. Je l'ai compris (___ORGANIZATIONNAME___) parce que Apple l'utilise dans la plupart (tous?) De leurs modèles de Xcode, mais ce n'est pas un haut-valeur comme les autres avec un sens défini. C'est une macro personnalisée et (comme vous le savez peut), vous devez l'ajouter manuellement à la liste de Xcode des macros pour le faire fonctionner. Pour rendre les choses plus confuses, il n'y a pas de place dans Xcode où vous pouvez réellement définir cette valeur (que je sache, au moins).
Pour définir le nom de l'organisation qui sera utilisé à la place du jeton ___ORGANIZATIONNAME___replacement qui est utilisé dans les modèles fournis d'Apple, vous devez descendre à la borne et tapez quelque chose comme:
Si vous voulez savoir ce que l'expansion des macros que vous avez définis, vous pouvez faire ceci:
J'ai assemblé à partir de quelques sources différentes d'une liste de toutes les macros connues.
| Token | Remplacé par |
|---|---|
| ___PROJECTNAMEASIDENTIFIER___ | Le nom du projet avec des espaces et des caractères filename-illégale remplacés par des underscores. |
| ___PROJECTNAME___ | Le nom du projet exactement comme entré par l'utilisateur lorsque le projet a été créé. |
| ___PROJECTNAMEASXML___ | Le nom du projet exactement comme entré par l'utilisateur lorsque le projet a été créé, mais avec convertis en utilisant le codage XML de sorte que c'est XML légal. |
| ___FULLUSERNAME___ | Les noms d'utilisateurs longs du développeur qui a créé le projet tiré de l'information de compte. |
| ___USERNAME___ | Le nom d'utilisateur court le développeur qui a créé le projet. |
| ___TIME___ | Le temps de la journée à laquelle le projet a été créé. |
| ___DATE___ | La date à laquelle le projet a été créé. |
| ___YEAR___ | L'année à quatre chiffres dans laquelle le projet a été créé. |
| ___ORGANIZATIONNAME___ | Le nom de l'entreprise ou l'organisation pour laquelle travaille le développeur (voir encadré). |
| ___UUID___ | Un identifiant unique généré par votre projet. |
| ___UUIDASIDENTIFIER___ | Le même identifiant unique que ___UUID___, mais avec des espaces et des caractères illégaux convertis en caractères de soulignement. |
Une des valeurs dans ce tableau, cependant, ne pas y être. Je l'ai compris (___ORGANIZATIONNAME___) parce que Apple l'utilise dans la plupart (tous?) De leurs modèles de Xcode, mais ce n'est pas un haut-valeur comme les autres avec un sens défini. C'est une macro personnalisée et (comme vous le savez peut), vous devez l'ajouter manuellement à la liste de Xcode des macros pour le faire fonctionner. Pour rendre les choses plus confuses, il n'y a pas de place dans Xcode où vous pouvez réellement définir cette valeur (que je sache, au moins).
Pour définir le nom de l'organisation qui sera utilisé à la place du jeton ___ORGANIZATIONNAME___replacement qui est utilisé dans les modèles fournis d'Apple, vous devez descendre à la borne et tapez quelque chose comme:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ "ORGANIZATIONNAME" = "Naked Software, Inc.";}'C'est une douleur, mais les bonnes nouvelles sont, ce mécanisme est générique. Il fonctionne pour tout jeton de remplacement que vous souhaitez définir. Vous pourriez, par exemple, tapez cette commande dans le terminal:defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ "MYTESTTOKEN" = "Hee Haw";}'Et n'importe où dans un des modèles de projet où vous avez inclus dans un fichier ___MYTESTTOKEN___ ou partie du contenu d'un fichier, Xcode se substituerait Haw Hee pour elle.Si vous voulez savoir ce que l'expansion des macros que vous avez définis, vous pouvez faire ceci:
defaults read com.apple.Xcode PBXCustomTemplateMacroDefinitionsMaintenant, en réalité, il ya une limite à combien cette fonctionnalité est utile. Apple ne risque pas de commencer à utiliser des jetons personnalisés autres que ___ORGANIZATIONNAME___ et pour vos propres modèles, vous pouvez mettre ce que l'enfer que vous voulez là-dedans, de sorte que si vous avez une machine ou un utilisateur des données spécifiques à insérer dans les nouveaux projets, vous n'aurez probablement jamais réellement utiliser cette fonction plus loin que de définir ___ORGANIZATIONNAME___, mais c'est agréable de savoir qu'il est là et comprendre ce qui se passe un peu mieux sous le capot.
Matt Gemmell et de deux intervenants m'ont rappelé que le nom de l'organisation est maintenant exposée dans Xcode 3.2 à partir de et que si elle n'est pas réglée, Xcode va le tirer de votre carte dans Carnet d'adresses, de sorte ___COMPANYNAME___ ne leur place dans la liste. Le reste de ce qui précède est encore vrai, cependant.
Aucun commentaire:
Enregistrer un commentaire