Créer ses propres templates
francois2102
Membre
Bonsoir à tous.
Je cherche à créer un template à partir d'un de mes projetsà’∑ existant sur xcode.
Lors de la création d'un nouveau projet selon le template que l'on a créé, le fichier par défaut apparaà®t bien, mais les transformations que l'on fait ensuite se reportent sur le modèle, et non sur "l'instance" de ce modèle.
Quelqu'un aurait-il la solution pour que l'instance ne modifie pas le template lui même?
Merci de votre aide.
Je cherche à créer un template à partir d'un de mes projetsà’∑ existant sur xcode.
Lors de la création d'un nouveau projet selon le template que l'on a créé, le fichier par défaut apparaà®t bien, mais les transformations que l'on fait ensuite se reportent sur le modèle, et non sur "l'instance" de ce modèle.
Quelqu'un aurait-il la solution pour que l'instance ne modifie pas le template lui même?
Merci de votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu as préparé ton modèle de projet Xcode puis l'a mis dans "~/Library/Application Support/Developer/Shared/Xcode/Project Templates", c'est bien ça ? En prévoyant les noms génériques à tes fichiers, genre "___PROJECTNAME___.xcodeproj" etc, comme sont faits les autres templates fournis par Xcode ?
Et ensuite quand tu demandes à Xcode de créer un nouveau projet, en plus des templates que Xcode te propose habituellement, tu as donc une nouvelle section "User Templates" avec ton nouveau template qui s'affiche, tu le choisis, crée un nouveau projet avec ce template... Et ensuite tu es en train de me dire que quand tu modifies ce nouveau projet créé à partir de ton template, c'est le template qui est modifié, donc le projet se trouvant dans Application Support ?
Et cela avait déjà été pointé lors d'une discussion sur les templates ("modèle de projet") en 2008 mais n'a jamais trouvé de réponse.
Merci de ton aide si tu as la solution.
Au fait, bienvenue sur PommeDev ! N'hésite pas à aller te présenter sur la section adéquate "Présentation des membres" du forum
[mode modo]
PS : Je te laisse répondre à ce sujet (ce qui m'assurera que tu as lu ma réponse ici) mais je vais déplacer ce sujet dans la section commune à MacOSX et iOS, voire dans la section dédiée aux Developer Tools : en effet ton problème ne me semble pas précisément lié à iOS et à un projet précis avec une idée que tu voudrais discuter avec nous, mais plutôt à une question sur l'outil Xcode
[/mode modo]
Sinon, les fichiers xcodeproj sont différents, mais certains fichiers (classes) du template se modifient lorsque je modifie le projet créé à partir du template. Et lorsque je regarde quel est leur path, certains ont un path commun, qui est celui du projet initial qui a servi de base à mon template.
Projet initial = projet 1
Template à partir de projet 1: template
Projet créé à partir de template: projet 2
Certains fichiers de projet 2 ont un path qui pointe vers des fichiers de projet 1.
Je ne comprends pas pourquoi, et ce d'autant plus que ce n'est pas le cas pour tous les fichiers.
Ce n'est pas les chemins vers le template et les fichiers du template proprement dit qui changent donc, mais ceux du projet 1 (que tu as copié et adapté pour en faire un template ensuite) !
Je pense savoir d'où ça peut venir : il est possible que ton projet soit configuré pour stocker les chemins absolus (complets) vers certains fichiers de tes classes. Ce qui expliquerait qu'ensuite quand tu retrouves ton projet 2 créé à partir du template créé à partir de projet 1... au final dans le xcodeproj c'est toujours le même fichier qui est référencé, car c'est non pas le fichier qui se trouve "dans le répertoire Machin du répertoire du projet" (chemin relatif " relatif au projet donc) mais le fichier qui se trouve "dans le répertoire /DisqueDur/Users/toi/Documents/Projet1/Fichier.m" (donc chemin complet/absolu)
Pour modifier cela, dans ton projet Xcode, dans la colonne de gauche "Groups & Files" :
1) Vérifie que les "dossiers" qu'il y a dans cette section sont bien des "groupes" (icônes jaunes, qui sont juste des groupements au sein du projet Xcode mais qui ne présage pas forcément de l'organisation réelle des fichiers dans le Finder) et pas des "dossiers" (icônes bleues, qui représentent des vraies dossiers et des références vers des dossiers du Finder)
2) Une fois que tu as vérifié que tu n'as que des "groupes/dossiers jaunes" dans la zone de gauche "Groups & Files", tu peux afficher les informations sur chaque "groupe" (Pomme-I une fois le groupe sélectionné) et regarder quel est le type de chemin défini pour ce groupe. Moi je les définis tous comme "Relative to enclosing group".
Comme ça ils sont tous relatifs. Et si j'ai ensuite un "groupe" qui a comme path relatif "DossierA" (ce qui ait qu'au final le "group" en sens Xcode correspond au dossier "DossierA" dans le Finder), et que dans ce groupe je mets un autre groupe avec un path relatif "DossierB", les fichiers dans ce sous-groupe seront relatifs au dossier "DossierB" se trouvant dans le dossier "DossierA" se trouvant dans le répertoire projet...
Au final, en faisant ça tous les fichiers répertoriés dans le xcodeproj sont de toute façon relatifs au projet, et non en chemin absolu. Et du coup cela devrait résoudre ton souci
Cependant, certains fichiers du template ont le même chemin que leur homologue de projet 1, et se modifient donc en même temps.
Mais la solution doit être la même pour template et projet 2.
Je vais essayer.
Encore merci.
Désolé, c'était en fait assez basic , mais j'ai appris quelquechose... à vie!
Tu dois aussi avoir un fichier TemplateInfo.plit à côté de tes .m et .h, le tout dans un (nouveau) dossier créé dans ~/Library/Developer/Xcode/Templates/ ainsi qu'indiqué sur ce blog
Point négatif : c'est beaucoup plus compliqué qu'avant et il n'y a pas encore beaucoup de doc dessus.
Point positif : c'est beaucoup plus puissant qu'avant!
Quelques liens qui peuvent t'aider pour faire un template Xcode4:
http://blog.boreal-kiss.net/2011/03/11/a-minimal-project-template-for-xcode-4/
http://snipt.net/yonishin/about-xcode-4-project-template
[EDIT] damned, grilled!
Le modèle en question sert/servirait simplement a pouvoir faire une application installable avec un iDevice en zappant la séquence Apple, en fait pour m'installer simplement une petite application sur mon iPhone...
mais bon rien de bien urgent non plus...
Je fais ça de plus en plus: le 4 pour travailler sur les xib, parce que j'aime bien la nouvelle manière et ne plus naviguer entre IB et Xcode ; et le 3 surtout à cause du Fix and Continue qui me permet de corriger ou d'affiner sans avoir à relancer à chaque fois la compilation puis l'application (qui doit analyser un gros dossier à chaque lancement).
Pour l'instant on a le meilleur des deux mondes autant en profiter !
Donc merci beaucoup...