Question

Existe-t-il un moyen de faire en sorte que XCode soit agréable à lire avec des dossiers partagés et de permettre à plusieurs personnes de travailler simultanément sur une application iPhone? Ou allons-nous devoir passer à quelque chose de plus semblable à SubEthaEdit ou à un autre outil de collaboration en temps réel?

Était-ce utile?

La solution

Xcode est connu pour jouer très mal avec le système de fichiers. Lorsque vous gérez un projet, vous avez deux options: ajouter les dossiers en tant que groupe ou en tant que référence de dossier.

Si vous ajoutez un groupe, le dossier sera reflété dans Xcode, mais le groupe ne sera pas synchronisé avec le système de fichiers. En d'autres termes, vous pourrez déplacer des éléments au sein du groupe, supprimer le groupe, ne pas toucher au FS, reverse fera perdre les fichiers à Xcode.

La deuxième option, ajouter une référence à un dossier semble très agréable, mais est totalement boguée. Les références de dossier risquent de ne pas se mettre à jour correctement, les modifications ne sont pas détectées dans les dossiers (si vous ajoutez une référence de dossier Images à vos ressources et mettez le contenu à jour, vos ressources ne seront pas mises à jour lors de la prochaine génération, vous devrez nettoyer et reconstruire).

C’est pourquoi vous ne devez pas utiliser Xcode (nous utilisons ici vim + SCons et nous en sommes très satisfaits) ou vous devez utiliser un SCM (le SCM peut également être associé à d’autres outils, vous DEVEZ quand même utiliser un SCM). .

En ce qui concerne le SCM, je recommande Mercurial, mais il existe également SVN, Git et beaucoup d’autres, je vous suggère un peu Google et vous donnez votre avis.

Autres conseils

Si vous utilisez un GDS, la meilleure approche consiste à archiver le fichier project.pbxproj.  fichier (dans votre bundle .xcodeproj). La plupart du temps, cela fusionne très bien, il faut parfois fusionner manuellement, mais dans ces cas, vous autorisez simplement 90% du temps à autoriser les deux côtés de la fusion.

Mon fichier .gitignore ressemble à:

# xcode noise
build/*
*.pbxuser
*.mode1v3
*.perspectivev3
*~
*.mode2v3

Vous pouvez utiliser un ensemble similaire de directives ignore pour d'autres systèmes SCM.

Les références de dossier sont acceptables pour les images (avec l'avertissement, vous devez effectuer un nettoyage si vous modifiez le contenu de l'image), mais ne sont pas géniales pour la source.

Le fait de laisser plusieurs personnes travailler sur un dossier partagé est une recette pour un désastre. Vous le regretterez la première fois que quelqu'un écrase le fichier que vous avez modifié pendant la majeure partie de la matinée, car il souhaitait mettre à jour un commentaire.

Obtenez un SCM et demandez à chacun de vérifier son code dans son propre dossier privé.

Vous serez également plus heureux lorsque vos constructions iront plus vite, car vous utilisez un disque local plutôt qu'un disque réseau.

Si vous recherchez une collaboration en temps réel, c’est-à-dire deux programmeurs ou plus écrivant le même code dans le même fichier au même moment, vous devrez utiliser un éditeur collaboratif comme subethaedit. Vous pouvez définir subethaedit comme éditeur préféré pour vos fichiers source dans Xcode.

De cette façon, vous avez un programmeur qui héberge le projet Xcode, qui ouvre les fichiers source dans subethaedit. Les autres programmeurs se connectent ensuite au fichier via subethaedit. Ensuite, le programmeur d'hébergement compile le code dans son Xcode local.

Cependant, comme indiqué plus haut dans le commentaire de Rudedog, si vous souhaitez que plusieurs personnes travaillent sur le même projet mais sur des fichiers différents, vous devez utiliser un outil de gestion de code.

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