example xcode version-control project xcode3.2

xcode - example - swift alert view controller



¿Cómo mantiene sincronizados los archivos fuente del proyecto Xcode con los directorios de su sistema de archivos? (2)

Soy nuevo en XCode y encuentro que la administración de archivos es un gran problema. En la mayoría de los IDE, simplemente puede hacer que el árbol de origen del proyecto haga referencia a una estructura de directorios en el disco. Esto facilita la adición de nuevos archivos a su proyecto, simplemente los pone en el disco y se compilan automáticamente.

Con XCode, parece que tengo que crear el archivo y agregarlo por separado al proyecto (o estar obligado a manipular el sistema de archivos a través de la interfaz de usuario). Pero esto significa que compartir el .xcodeproj a través del control de código fuente está plagado de problemas (a menudo, obtendremos conflictos de combinación en el archivo xcodeproj) y cuando no lo hacemos, a menudo obtenemos errores de vinculador, porque durante la fusión algunos de los archivos Que fueron enumerados en el proyecto se extirparon. Así que tengo que ir y volver a agregarlos al archivo de proyecto hasta que pueda compilar, y luego volver a revisar el archivo de proyecto.

Estoy seguro de que debo estar perdiendo algo aquí. Intenté usar ''carpetas de referencia'' pero el código en ellas no parece ser compilado. Parece una locura construir un IDE que obliga a todos a modificar un solo archivo compartido cada vez que se agregan o eliminan archivos en un proyecto.


A pesar de otras respuestas, esto es absolutamente una desviación de otros IDE, y una molestia importante. No hay una buena solución que yo sepa.

El único truco que utilizo mucho para hacerlo un poco más soportable, especialmente con los directorios de recursos con muchos archivos, es:

  • Seleccione un directorio en el árbol del proyecto,
  • presiona la tecla borrar,
  • Elija "Eliminar solo referencias", luego
  • arrastre el directorio al proyecto para volver a agregarlo.

Esto anula cualquier reordenamiento manual de archivos, pero al menos hace una sincronización de una operación O (1), en lugar de ser O (n) en la cantidad de archivos cambiados.


Estoy intrigado por los IDE que está usando y que compilan automáticamente todo en un directorio, ya que ningún IDE que haya usado lo hace (al menos para C ++). Creo que es bastante estándar tener un archivo de proyecto que contenga una lista de todos los archivos. A menudo es posible que desee incluir solo ciertos archivos para diferentes destinos, tener configuraciones de compilador por archivo, etc.

De todos modos, dado que así es como funciona, realmente no deberías tener demasiados problemas por conflictos de combinación. El mejor consejo sería cometer con anticipación y con frecuencia para que no se salga del paso con los cambios de otras personas. El simple hecho de agregar archivos al proyecto no debería generar un conflicto a menos que se agreguen exactamente en el mismo punto del árbol del proyecto. Hemos estado utilizando Xcode en nuestro equipo durante años y rara vez tenemos conflictos: solo si alguien ha reestructurado el proyecto.

Afortunadamente, debido a que el formato de archivo Xcode es texto, generalmente es muy fácil resolver conflictos cuando ocurren, a diferencia de los viejos tiempos de Codewarrior con su formato binario.