xcode build build-process build-automation

Xcode: agrega automáticamente todos los archivos de una carpeta a un destino



fastlane (7)

Aquí hay algunas otras preguntas sobre stackoverflow que intentan resolver este problema:

¿Agregar archivos a un proyecto Xcode desde un script?

Agregar automáticamente los archivos de origen generados a un proyecto de xcode

En Xcode, hay una manera de especificar que todos los archivos en una carpeta son compilados por un objetivo. 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 ''Orígenes''.

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.


Cuando agregue archivos al proyecto Xcode, tendrá dos opciones para elegir en el cuadro de diálogo de selección de archivos:

  1. Crea grupos para cualquier carpeta añadida.
  2. Crea referencias de carpeta para cualquier carpeta añadida.

Necesitas 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 se hizo hace mucho tiempo, pero aún está en el primer lugar en la búsqueda de Google, así que espero que sea útil para alguien.


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

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

  1. Arrastra el directorio al proyecto.
  2. Cuando se le solicite, configure las opciones de la siguiente manera:
    • Seleccione Crear grupos para cualquier carpeta agregada (es decir, lo opuesto a lo que cree que sería correcto)
    • Anule la selección de Copiar archivos si es necesario (porque desea un enlace, no una copia).

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

Pero, no hay manera de refrescar al grupo. (Alguien, por favor, dígame si me falta algo obvio aquí). Entonces, si ha agregado nuevos archivos al directorio, debe eliminar el grupo en Xcode y volver a agregarlo antes de que aparezcan esos archivos. Obviamente, esto es inconveniente, pero al menos no es demasiado propenso al error del usuario, y es mejor que agregar archivos manualmente 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 rota aquí.


Puede agregar varios archivos a los objetivos con esto. Pero requiere algún trabajo para filtrar los archivos que desea.

Proyecto> Destino> Compilar orígenes> cmd + A para seleccionar todos los archivos> filtro para archivos .m> haga clic en "Agregar"

Similar a otros recursos,

Proyecto> Destino> Copiar recursos del paquete> filtro para .png .wav .strings .xib .storyboard, etc.> haga clic en "Agregar"


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



Xcode es extensible utilizando scripts de shell. Puede configurar el script de shell para que se ejecute en el momento de la compilación, así que básicamente puede hacer que xcode haga lo que desee. Solo estás limitado por tus habilidades de shell scripting y estoy seguro de que también puedes encontrar ayuda para eso.