Duplication de projet
Bonjour tout le monde.
Alors je requiert vos yeux d'experts (pour la plupart ^^) afin d'avoir quelques conseils. Je m'explique. J'ai un projet X-Code, quasi fini, qui était sensé être une application soumise à l'AppStore contenant des biens et services touristiques, à choisir pour l'utilisateur parmi une liste de régions touristiques. Hors, le projet est complètement chamboulé, et je me retrouve à devoir chercher une solution afin de créer UNE application par région touristique contenant pour chacune d'elles leur biens et services (ces clients arriveront au fur et à mesure, mais il va y avoir danger lorsqu'ils commenceront à être nombreux)... sachant que la plupart du code devrait rester sensiblement le même dans chacune de ces applis, et que seules quelques fonctionnalités différeront selon la volonté du client (Aà¯e aà¯e aà¯e) ainsi que les graphismes.
Ainsi, après de multiples recherches infructueuses (comme notamment savoir si on peut gérer UN projet avec une gestion de partage et de récupération de composants permettant d'être intégrés à l'application, possible sous androà¯d, mais pas sur iPhone), je ne vois que la solution de dupliquer mon projet X-Code et changer sur chacun des projets dupliqués les infos tels que l'Icone de l'app, l'image d'écran de chargement, et le nom de l'exe... + le code à adapter au client
Voyez-vous autre chose de + approprié à ma problématique, ou sinon, est-ce qu'il y a un(des) moyens quelconques de faciliter ces manipulations de copier/coller de projets ?
Un peu ardu tout ça n'est-ce pas ?
Alors je requiert vos yeux d'experts (pour la plupart ^^) afin d'avoir quelques conseils. Je m'explique. J'ai un projet X-Code, quasi fini, qui était sensé être une application soumise à l'AppStore contenant des biens et services touristiques, à choisir pour l'utilisateur parmi une liste de régions touristiques. Hors, le projet est complètement chamboulé, et je me retrouve à devoir chercher une solution afin de créer UNE application par région touristique contenant pour chacune d'elles leur biens et services (ces clients arriveront au fur et à mesure, mais il va y avoir danger lorsqu'ils commenceront à être nombreux)... sachant que la plupart du code devrait rester sensiblement le même dans chacune de ces applis, et que seules quelques fonctionnalités différeront selon la volonté du client (Aà¯e aà¯e aà¯e) ainsi que les graphismes.
Ainsi, après de multiples recherches infructueuses (comme notamment savoir si on peut gérer UN projet avec une gestion de partage et de récupération de composants permettant d'être intégrés à l'application, possible sous androà¯d, mais pas sur iPhone), je ne vois que la solution de dupliquer mon projet X-Code et changer sur chacun des projets dupliqués les infos tels que l'Icone de l'app, l'image d'écran de chargement, et le nom de l'exe... + le code à adapter au client

Voyez-vous autre chose de + approprié à ma problématique, ou sinon, est-ce qu'il y a un(des) moyens quelconques de faciliter ces manipulations de copier/coller de projets ?
Un peu ardu tout ça n'est-ce pas ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
1) Utiliser les #define pour isoler les morceaux de code qui doivent être utilisés dans une version de l'appli et pas dans l'autre
2) Créer plusieurs Targets pour ton projet : c'est fait pour justement, chaque target correspondant à un exécutable généré, et ça te permet de customiser chaque exécutable avec des paramètres de compilation différents en plus si tu le souhaites, d'intégrer certains fichiers pour un target et pas pour d'autres, de définir des directives de compilation genre #define pour certains targets et pas pour d'autres, et donc là encore d'isoler certains bouts de code...
Du coup avec ce méncanisme de target, si tu peux tout à fait n'avoir qu'un seul projet qui va te générer 10 applications différentes, chacunes avec des fonctionnalités différentes pour certaines parties communes pour d'autres.
Sinon, une autre solution c'est de prévoir un projet par application, et de réutiliser les composants communs pour dans chaque projet (tu dis que c'est possible avec Android mais pas avec iPhone, d'où tu tiens ça ? Il est tout à fait possible de créer une classe et de la réutiliser dans plusieurs projets si tu réutilises les mêmes fichiers bah quand tu le changeras dans un projet ça changera sur l'autre puisque c'est le même fichier, etc)...
Enfin, tu peux aussi créer des librairies (bon, des librairies statiques uniquement sur iPhone, qui ne supporte pas les librairies dynamiques pour une raison de validation Apple pour éviter les possibilités de débordements de personnes mal intentionnés) et utiliser chaque libriairie dans plusieurs projets.
Mais bon, vu ton cas je te conseille un projet et plusieurs targets, c'est le plus adapté je pense. C'est jamais très simple à gérer ce genre de cas (genre si tu rajoutes un fichier à ton projet, faut penser à cocher les targets / binaires générés pour lesquels tu veux intégrer ce fichier et celles où tu ne veux pas l'inclure, selon ce que tu demande le client et donc s'il faut intégrer cette fonctionnalité dans un cas ou dans l'autre... Mais bon, ça c'est les joies de gérer plusieurs projets en parallèle sans s'emmêler les pinceaux
En effet oui, cette solution de gérer plusieurs targets semble intéressante. Cela-dit, je me pose encore la question de la maintenabilité d'un projet qui gère 30 ou 40 targets, car à terme, il risque fort d'y avoir un grand nombre de clients...
Je parlais ici justement de composants Objective-C que l'iPhone irait chercher -au sein de l'appli lancée- sur des serveurs tiers (selon un ID), qui justement (ces composants) ne seraient pas passés par validation Apple. ... solution qui est concevable sur Android
Bref, pour cette histoire de targets, je vais faire des tests sur un petit projet bidon, et je reviens à la charge si j'ai un soucis...
Merci !
Du coup je vais créer un dossier de Ressources par Target et relier chaque dossier à son target. Comme ça facile à gérer pour les éléments qui changent (comme l'image d'un bouton dans une vue), ils peuvent garder le même nom.
Encore merci Ali
Juste en passant comme ça, j'avais eu affaire à ce problème avec les ebooks estampillés iPuP et je viens aujourd'hui de voir un nouveau menu sous XCode sous snow leopard : project / rename. Méga pratique ! Avant je mettais une bonne demi heure pour tout renommer et cocher le bazar, maintenant 10 s !
+