Pregunta

¿Hay alguna manera de hacer que XCode funcione bien con carpetas compartidas y permita que varias personas trabajen en una aplicación de iPhone al mismo tiempo? ¿O vamos a necesitar cambiar a algo más como SubEthaEdit o alguna otra herramienta de colaboración en tiempo real?

¿Fue útil?

Solución

Se sabe que Xcode juega muy mal con el sistema de archivos. Al administrar un proyecto, tiene dos opciones, agregar las carpetas como grupo o como referencias de carpeta.

Si agrega un grupo, la carpeta se reflejará en Xcode, pero el grupo no estará sincronizado con el sistema de archivos, es decir, puede mover cosas dentro del grupo, eliminar el grupo, no tocar el FS, reverse hará que Xcode pierda los archivos.

La segunda opción, agregar una referencia de carpeta, suena muy dulce, pero está totalmente molesta. Las referencias de carpeta pueden no actualizarse correctamente, los cambios no se detectan dentro de las carpetas (si agrega una referencia de carpeta Imágenes a sus recursos y actualiza el contenido, sus recursos no se actualizarán en la próxima compilación, debe limpiar y reconstruir).

Es por eso que no deberías usar Xcode (usamos vim + SCons aquí y estamos muy contentos con él) o necesitas usar un SCM (SCM también se puede combinar con otras herramientas, DEBES usar un SCM de todos modos) .

En cuanto a SCM, recomiendo Mercurial, pero también hay SVN y Git y muchos otros, le sugiero que busque un poco en Google y haga su opinión.

Otros consejos

Si usa un SCM, el mejor enfoque hasta ahora es verificar en el proyecto.pbxproj  archivo (dentro de su paquete .xcodeproj). La mayoría de las veces se fusiona bien, a veces tienes que fusionar manualmente, pero en esos casos el 90% del tiempo simplemente permites ambos lados de la fusión.

Mi archivo .gitignore se ve así:

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

Podría usar un conjunto similar de directivas de ignorar para otros sistemas SCM.

Las referencias de carpeta están bien para las imágenes (con la advertencia de que tiene que hacer una limpieza si cambia el contenido de cualquier imagen) pero no son excelentes para la fuente.

Permitir que varias personas trabajen en una carpeta compartida es una receta para el desastre, y te arrepentirás la primera vez que alguien sobrescriba el archivo que has estado editando la mayor parte de la mañana porque querían actualizar un comentario en él.

Obtenga un SCM y haga que todos revisen su código en su propia carpeta privada.

También será más feliz cuando sus compilaciones sean más rápidas porque está construyendo desde un disco local en lugar de un disco de red.

Si busca una colaboración en tiempo real, es decir, dos o más programadores que realmente escriben el mismo código en el mismo archivo al mismo tiempo, deberá utilizar un editor colaborativo como subethaedit. Puede establecer subethaedit como el editor preferido para sus archivos fuente en Xcode.

De esa manera, tiene un programador que aloja el proyecto Xcode, que abre los archivos fuente en subethaedit. Otros programadores inician sesión en el archivo a través de subethaedit. Luego, el programador de hosting compila el código en su Xcode local.

Sin embargo, como se señaló anteriormente en el comentario de Rudedog, si solo desea que varias personas trabajen en el mismo proyecto pero en diferentes archivos, debe usar una herramienta de administración de código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top