Question

Je fais partie d'une paire de programmeurs travaillant ensemble sur des applications iPhone / iPod. J'aimerais passer à la nouvelle version de XCode (3.2) et de Snow Leopard, mais mon partenaire ne le fera probablement pas. Quelqu'un peut-il souligner les problèmes que nous pourrions avoir le code de partage? Existe-t-il des incompatibilités entre l'ancien et le nouveau, ou devrions-nous pouvoir partager le code / les projets dans la joie?

Toute aide / alerte serait appréciée.

Était-ce utile?

La solution

J'ai deux machines dans cette situation, l'une étant SL / 3.2 et l'autre Leopard / 3.1. Pour le projet que je partage entre les deux, cela semble fonctionner. Mais comme le souligne Mark, rien ne garantit que cela fonctionnera dans tous les cas.

Je n’ai pas essayé cela, mais vous pouvez utiliser le fichier de projet en 3.2 et votre partenaire utiliser un fichier de projet 3.1. Ne l'enregistrez pas, travaillez uniquement avec les fichiers source du contrôle de source, conservez vos fichiers de projet en local. C'est ce que j'ai fait entre les versions de Visual Studio, ce qui est à l'origine de l'idée. Cependant, même si cela me semble bien dans la tête, je n'ai aucune idée de l'efficacité avec laquelle cela fonctionnerait.

Une autre solution consiste à conserver deux versions de Xcode sur votre machine (recherchez SO ou iphonedevsdk.com pour savoir comment faire). C'est ce que j'ai fait avec les versions 3.0 du système d'exploitation, mais cela suppose que Xcode 3.1 vit heureux sur une machine SL. Probablement le plus sûr à essayer, car le pire serait que 3.1 n’installe ni n’exécute sous SL.

Autres conseils

Si vous décidez au moins de dupliquer au maximum les environnements OS / Xcode, vous devez définir les paramètres de projet de votre projet Xcode partagé "Général". onglet, Format du projet à " 3.1 " car si vous mettez à niveau le projet vers la version 3.2, le Xcode 3.1 risque de ne pas pouvoir être ouvert.

Ne le fais pas. Les fichiers de projet Xcode sont notoirement fragiles et ne sont pas toujours compatibles entre les versions. Lorsqu'ils apportent des modifications incompatibles connues entre les versions, vous recevez un avertissement concernant l'ouverture des fichiers de la nouvelle version. Il n'y a pas d'avertissement de ce type pour 3.2 vs 3.1, mais cela ne garantit pas que vous n'aurez aucun problème.

Je devrais probablement préciser que je ne veux pas dire que vous ne devriez jamais mettre à niveau, mais simplement que vous et votre partenaire devriez mettre à niveau en même temps.

Votre partenaire devrait mettre à jour. C'est seulement 29 $! Il y a beaucoup de nouvelles fonctionnalités utiles, et la durée est d'environ une heure au total (un peu plus longtemps si vous incluez la sauvegarde, mais vous faites déjà des sauvegardes régulières de toute façon, DROIT?).

J’étais dans une équipe mixte avec les versions 3.2 et 3.1 pendant un certain temps, et cela a fonctionné - mais c’était une ou deux mises à jour XCode il y a.

Vous pouvez éventuellement conserver des fichiers de projet différents et ajouter chacun de nouveaux fichiers au fur et à mesure que l'autre les ajoute, par souci de sécurité ...

Je conviens que vous devez mettre à niveau, mais attention, vous devrez peut-être modifier votre code.

J'ai particulièrement remarqué une différence dans le fonctionnement de NSAlert. En 10.5, j'ai passé une variable " fenêtre " en tant que paramètre et qui a créé une feuille qui s'est ouverte sur cette fenêtre particulière. En 10.6, le même code a généré un dialogue modal. J'ai ensuite changé de & window; fenêtre " pour " [fenêtre auto] " et la feuille était de retour.

J'ai également un petit problème avec Core Data, où il émet l'avertissement "Échec de l'appel d'un initialiseur désigné sur la classe XXX de NSManagedObject". même si ce code a été intégralement testé sous 10.5.

Je crois qu'il y avait d'autres problèmes moins importants, mais je les ai corrigés avec de vrais bugs et je n'en ai pas pris note.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top