2010-05-19 22 views
25

En Xcode, hay una manera de especificar que todos los archivos de una carpeta sean compilados por un destino. P.ej. el objetivo 'Prueba' compila automáticamente todos los archivos en la carpeta 'Pruebas', mientras que el objetivo 'Aplicación' compila todo en la carpeta 'Fuentes'.Xcode: agregue automáticamente todos los archivos de una carpeta a un destino

Hoy, la forma en que lo hago, es agregar un archivo a un objetivo cada vez que lo creo. Esto se siente un poco propenso a errores y redundante ya que los archivos ya están organizados en las carpetas correctas.

Gracias.

Respuesta

0

Sí, simplemente seleccione todos los archivos en la carpeta y use la ventana del inspector (pestaña de destinos).

+4

Pero con esto, cada vez que se crea un archivo nuevo, se debe especificar el objetivo. Lo que sería bueno es, si hubiera una manera de establecer automáticamente este objetivo en función de la carpeta en la que se encuentra el archivo. Entonces, no habría necesidad de asignar objetivos a los archivos cada vez, ya que estarían en la carpeta correcta. p.ej. Prueba, ejemplo de aplicación desde arriba. –

+0

@Akshay: Veo lo que dices, sí, eso podría ahorrar un poco de tiempo. Puede usar el Apple Bug Reporter para realizar solicitudes de funciones como esta. –

+2

acaba de encontrar esto de googlear - TIENE que haber una manera de hacer esto, apuesto. buscando hacer lo mismo – taber

-1

Xcode es extensible utilizando scripts de shell. Puede configurar el script de shell para que se ejecute en tiempo de compilación, de modo que básicamente pueda hacer que xcode haga lo que quiera. Solo estás limitado por tus habilidades de creación de guiones y estoy seguro de que puedes encontrar ayuda para eso también.

+0

¿Cómo sería exactamente? Por supuesto, no debería recompilar todos los archivos todo el tiempo, etc. – Albert

+0

Creo que esta es una buena sugerencia. – eonist

2

Aquí están algunas otras preguntas sobre stackoverflow intentar abordar esta cuestión:

Add files to an Xcode project from a script?

Automatically adding generated source files to an xcode project

+1

Ninguno de estos es relevante aquí. El primero es sobre los archivos de recursos y Akshay le preguntó acerca de ** los archivos fuente **. El segundo tampoco es relevante, el enlace del proyecto está muerto y no funciona bien con el seguimiento de la dependencia; modificar un proyecto Xcode una vez que se ha iniciado la compilación es como aplicarle un parche a tu compilador binario mientras está compilando un archivo fuente. Podría funcionar, aunque no confiaría en eso por un solo segundo. – Mecki

+0

@Mecki El proyecto minit fue eliminado, pero el proyecto https://github.com/expanz/xcode-editor está disponible. Modificar un proyecto Xcode es más como modificar un archivo make, tal vez no sea lo más seguro que se pueda hacer, pero sí factible. Con la combinación correcta de herramientas y procesos, funcionará. Depende de lo que quieras hacer. – ThomasW

3

puede agregar varios archivos a los objetivos con esto. Pero requiere un poco de trabajo para filtrar los archivos que desea.

Proyecto> destino> Compilar fuentes> cmd + A para seleccionar todos los archivos> filtro de archivos .m> haga clic en "Añadir"

Similar a otros recursos,

Proyecto> destino> Copiar Recursos Bundle> filtro para .png .wav .strings .xib .storyboard, etc.> haga clic en "Agregar"

7

Cuando agrega archivos a proyecto de Xcode, tendrá dos opciones para elegir en los archivos de diálogo seleccione:

  1. Crear grupos para todas las carpetas agregadas.
  2. Crea referencias de carpetas para cualquier carpeta agregada.

Debe seleccionar la segunda opción. En este caso, Xcode siempre reflejará los cambios en los archivos y subcarpetas de la carpeta seleccionada.

Parece que la pregunta fue hecha hace mucho tiempo, pero todavía está en primer lugar en la búsqueda de Google, por lo que espero que sea útil para alguien.

+10

Desafortunadamente ya no funciona. Xcode no agrega una referencia de carpeta a "fuentes de compilación". No estoy seguro acerca de Xcode 4, pero Xcode 5 definitivamente no está funcionando. Apple eliminó muchas funciones prácticas, p. esta y arrastrando carpetas a otro proyecto. –

+0

En XCode 7.3 debe agregar la carpeta y antes de presionar la que tiene en el lado izquierdo botón "Opciones". debe presionar sobre él y elegir la opción Crear grupos para cualquier carpeta agregada. – user2067656

4

Esto está completamente roto en Xcode. Agregar carpetas por referencia de carpeta (@ respuesta de Pavel) debería ser correcto, pero simplemente no funciona. Vea también https://stackoverflow.com/a/42600782/2518722. Estoy usando Xcode 8.3, pero también se ha roto durante muchas generaciones antes.

No hay una solución perfecta, pero esto es lo que hago:

  1. Arrastre el directorio en el proyecto
  2. Cuando se le preguntó, defina las opciones de la siguiente manera:
    • Seleccione Crear grupos para cualquier carpeta agregada (es decir, lo opuesto a lo que crees que sería correcto)
    • DeseleccionarCopie los archivos si es necesario (porque quiere un enlace, no una copia).

Ahora los cambios en los archivos en el directorio compartido se reflejarán en Xcode, lo cual es bueno.

Pero no hay forma de refrescar al grupo. (Alguien dígame si me falta algo obvio aquí). De modo que si ha agregado nuevos archivos al directorio, debe eliminar el grupo en Xcode y volver a agregarlo antes de que aparezcan esos archivos. Esto es obviamente inconveniente, pero al menos no es demasiado propenso a errores del usuario, y es mejor que agregar archivos uno por uno.

Tengo que decir que me parece bastante increíble que una característica tan simple y necesaria de un entorno de desarrollo está tan roto aquí.

+0

¿Hay un radar para este error? Asumo que todavía está roto en XCode 9. – rmooney

+0

No he registrado Xcode 9. Para ser sincero, Xcode está tan lleno de errores, muchos de los cuales se informan pero nunca se tratan, que he perdido la confianza en Apple proceso de desarrollo en su totalidad. – HughHughTeotl

+0

@rmooney Todavía está roto desde Xcode 9.2 –

Cuestiones relacionadas