Vérification des ressources
-
18-09-2019 - |
Question
hey je suis souvent mes projets le téléchargement XCode iPhone à un dépôt svn être construit sur une autre machine.
Mon problème est que quand j'ajouter des ressources à mon projet parfois j'oublie d'ajouter la ressource par rapport au projet.
Je sais une réponse est d'être plus prudent (pas facile quand on est fatigué!) Mais s'il y avait un moyen d'exécuter un script pour vérifier mes chemins de ressources sont relatives quand je construis et me préviens si elles ne sont pas que ce serait un gain de temps pour moi.
Comment dois-je prendre?
Merci
Chris
La solution
Vous pouvez sélectionner et définir le type de chemin pour chacun d'eux tous les fichiers de votre projet en une seule fois. Bien que ce n'est pas un script cela n'économiser beaucoup de temps sur faire les fichiers individuellement
Je pense que la meilleure approche pour ce scénario serait de regarder dans le fichier .xcodeproj - les chemins de fichiers sont répertoriés là-dedans. Si votre projet est appelé MyProject vous devez ouvrir (soit en utilisant Afficher le contenu dans le Finder ou tout simplement l'habituel cd dans le Terminal), le répertoire MyProject.xcodeproj.
Ici, vous trouverez un fichier appelé project.pbxproj - ouvrir ce dans un éditeur qui ne sera pas gâcher votre mise en forme et avoir un coup d'oeil autour du fichier. Si vous recherchez un de vos fichiers dans le projet, vous devriez être en mesure de voir comment les références Xcode magasins aux fichiers de projet.
Recherchez une section nommée / * Begin section PBXFileReference * /. Ici tous vos fichiers sont répertoriés, ainsi que là où ils sont par rapport au projet, par exemple:.
... path = Classes/MyClass.h; sourceTree = SOURCE_ROOT
Si vous pouvez analyser ce fichier, vous devriez être en mesure de acheive ce que vous voulez -. Mais n'oubliez pas de sauvegarder le fichier, sinon vous risquez de corrompre votre projet
Autres conseils
Comment serait-il si vous écrivez à la place un script qui demande au SCM si quoi que ce soit dans le projet n'est pas engagé? Par exemple, pensez à ce scénario
Project Root
Codex
Project.xcodeproj
…
Design
anImage.png
où anImage.png
étant à l'extérieur de Codex
, où le projet Xcode siège (son chemin commence par un ../
). Un analyseur de .pbxproj
forte devrait soutenir toutes les variantes dans lesquelles Xcode référence des fichiers de savoir exactement si des fichiers parasites.
OTOH, le SMC sait où tout est tout le temps (vous avez mentionné la mise ping à un serveur SVN), alors pourquoi ne pas demander au lieu.
- Nous avons un scénario Ruby qui imprime un avertissement dans Xcode de construire journal si quoi que ce soit dans le projet ne s'engage pas.