2008-12-03 13 views
43

que tienen un proyecto de Xcode con la estructura del grupo siguiente:¿Cómo consigo que Xcode replique la estructura del grupo de proyectos en la estructura de carpetas del disco?

ProjectName/ 
    Classes/ 
     class1.h 
     class1.m 
     class2.h 
     class2.m 
     ... 
    XMLDocs/ 
     doc1.xml 
     doc2.xml 
     ... 
    Resources/ 
     Info.plist 
     MainMenu.xib 
     ... 

y así sucesivamente y así sucesivamente.

me gustaría que esto puede representar en la estructura de carpetas en el disco, así:

ProjectFolder/ 
    Project.xcodeproj 
    Classes/ 
     class1.h 
     class1.m 
     class2.h 
     class2.m 
     ... 
    XMLDocs/ 
     doc1.xml 
     doc2.xml 
     ... 
    Resources/ 
     Info.plist 
     MainMenu.xib 
     ... 

en contraposición a la habitual en todo lo que la metodología de la carpeta raíz del proyecto.

¿Hay alguna manera de hacer esto sin crear manualmente la estructura de carpetas en el disco y luego tener que volver a marcar toda la referencia en Xcode a la nueva ubicación?

Puntos de bonificación si me puede decir cómo hacerlo automáticamente cada vez que creo un nuevo grupo o agrego archivos a un grupo existente en Xcode.

+0

Hace mucho que quería hacer esto. Simplemente otra cosa simple con la que Xcode parece no poder lidiar. Al menos ahora sé que la funcionalidad no existe con seguridad. Gracias por una gran pregunta! –

+0

En realidad, hay una forma: https://github.com/venmo/synx – ULazdins

Respuesta

0

No existe la funcionalidad "hacer que mi disco se vea como estructura de mi proyecto" en Xcode.

Sin embargo, puede automatizar la tarea usando AppleScript: Puede examinar y cambiar la estructura del proyecto desde un script. Por lo tanto, solo tendría que escribir un script que itere sobre la estructura del proyecto y haga que la jerarquía de carpetas se vea como lo hace la estructura del proyecto, y ajuste el punto donde las referencias del archivo y grupo de Xcode señalan al mismo tiempo.

11

Una referencia de carpeta es lo que quiere. Al arrastrar o agregar archivos al proyecto, hay una opción para "Crear referencias de carpetas para cualquier carpeta agregada". Elija eso y obtendrá el comportamiento que desea.

alt text http://img.skitch.com/20081203-prtxsp7c36ern4afxxdixy93sq.png

Usted podría intentar agregar toda la carpeta de cerramiento del proyecto como una referencia carpeta. Eso debería tener todo. O agregue referencias para "Clases", "Recursos" y "XML" individualmente.

+0

Gracias, eso ayuda a agregar artículos futuros, pero ¿hay alguna forma de convertir los grupos existentes en carpetas? –

+0

Solo obtiene esta opción cuando arrastra archivos. No obtiene esta opción cuando agrega nuevos archivos – TheLearner

+0

Esta es una gran solución para agregar recursos. Es posible que haya notado la carpeta azul 'www' en PhoneGap. Simplemente agregue cualquier cosa a esa carpeta y se agrega a su proyecto. Sin embargo, si va a "Copiar recursos del paquete" en la sección Crear fases de su proyecto, verá que solo aparece la carpeta, pero no su contenido. Para acceder al contenido de la carpeta a la que hace referencia, debe agregar la ruta al recurso que desee con el nombre de la carpeta agregada, así: NSURL * htmlURL = [[NSBundle mainBundle] URLForResource: @ "mypage" withExtension: @ subdirectorio "html": @ "www"]; – aeldron

57

Usted puede hacer esto hasta cierto punto! Sólo hay un paso adicional para hacer cada vez que se crea un nuevo grupo (y esta primera vez que va a tener un montón de ponerse al día!):

Xcode location setting

Siempre que se crea un grupo en Xcode, selecciónelo de inmediato y abra la barra lateral derecha. Observe la configuración de "Ubicación:" justo debajo de su nombre. Haga clic en el icono de la carpeta al lado de "Ninguno" y configúrelo en una nueva carpeta con el mismo nombre.

Ahora, cada vez que agregue archivos al grupo, irán a la carpeta correspondiente del disco. ¡Cortejar!

Desafortunadamente, esta vez inicial, tendrá que realizar un gran movimiento de archivos. (Al cambiar las rutas de grupo, todos tus archivos se volverán rojos, ya que Xcode comenzará a buscarlos en la nueva carpeta. Tendrás que moverlos manualmente desde el Finder para arreglarlo). Sin embargo, hay un comando herramienta de línea para realizar esta migración inicial para usted: https://github.com/venmo/synx

+1

obtener información se ha movido en xcode 4 (como se describió anteriormente) - tratando de encontrar dónde :( – theiOSDude

+0

He intentado esto pero no puedo replicar esto en Xcode4. ¿También tiene una solución para xc4? – sandstrom

+0

Solución Xcode 4 agregada. – andyvn22

0

Xcode9 resuelve este problema. De forma predeterminada, se crea un nuevo grupo con la carpeta correspondiente en el disco.

Cuestiones relacionadas