Hola chicos soy relativamente nuevo en Xcode y una cosa que me ha molestado es que cuando agrego un recurso que se añade al directorio de nivel superior de mi directorio del proyecto. Así, por ejemplo, en este momento, todas mis imágenes están en el directorio de nivel superior y hace que las cosas se ven sucios. A mí más bien me hubiera gustado, por ejemplo, tener un imágenes/ carpeta y, a continuación, sub-carpetas dentro de esa almacenar imágenes para ciertas cosas, como ficha-bar/ iconos. Es esto posible? O es la convención para mantener todo en el directorio de nivel superior?

Alguien en la #iphonedev canal en freenode me dijo algo sobre el proceso de construcción de la regla o algo, no parecía demasiado complicado pensé que no me molestan, y que la mayoría de la gente mantiene las cosas en su directorio raíz, considerando la complejidad de la solución. Quizás no es para nada complicado, sin embargo, yo sentía que debería ser más fácil.

Por ejemplo también me gustaría tener una sub-carpeta de mis puntos de vista, como vistas/ que almacena todos los de mi nib; en la actualidad, todos ellos están en el directorio de nivel superior. Y lo mismo va para mis listas de propiedades.

Yo estaría muy agradecido si usted podría decirme lo que la convención es, dudo que sea sólo para almacenar todo en el directorio de nivel superior. Y me estoy refiriendo a la real del sistema de archivos, no simplemente de crear «carpetas virtuales» en Xcode para organizar las cosas, porque el directorio de nivel superior de mi proyecto va a ser un lío. Y si es posible organizar mejor las cosas, agradecería cualquier ayuda detallada sobre cómo lograrlo.

Creo que he oído que en la versión definitiva, toda la estructura de archivos obtiene aplastado en el directorio raíz. No me importa mucho acerca de eso, sólo quiero que las cosas sean organizados mientras estoy trabajando en mi proyecto. Creo que aquí es donde se ‘regla’ cosa viene, pero no estoy seguro de cómo o qué hacer.

Gracias!

4 Comentarios

  1. 20

    Aquí un poco más de explicación de Graham sugerencia:

    • Crear un directorio de imágenes
    • Crear un Grupo de imágenes en Xcode
    • Haga clic en el grupo y Obtener Información
    • «Elegir…» para establecer el directorio del grupo a su directorio de imágenes

    Ahora, cualquier cosa que ponga en las imágenes del grupo entrará automáticamente en el directorio de imágenes. Eso es cierto si usted arrastrar/soltar desde dentro de Xcode, de otros proyectos o desde el Finder, o si se agregan Nuevos… haciendo clic derecho en el directorio de imágenes. (Esto asume que usted deje la configuración predeterminada de «en relación con el grupo» en el panel de información.)

    Este trabajo para cualquier cosa que ponga en ese grupo (Puntas, etc).

    Para imageNamed:, que acaba de dar el nombre de base.

    Mi recomendación es mantener un pequeño número de directorios del sistema de ficheros, y sobre todo organizar los grupos en Xcode. Pero estoy de acuerdo, un pequeño número de directorios del sistema de ficheros son muy útiles. Puse todo mi código fuente en un directorio Clases (solo porque Apple utiliza ese nombre; yo habría escogido «Fuentes» o algo). También tengo un directorio de Recursos en el nivel superior y en general, crear las imágenes y el audio directorios bajo que. Pero yo generalmente no crear un montón de real directorios más allá de eso. Esto mantiene las cosas un poco más ordenado, pero hace que sea más fácil para grep y comodín cosas con el shell.

    Más allá de la cáscara de herramientas, la gran ventaja de organización por grupos, en lugar de directorios es el impacto en los sistemas de control de versiones como subversion. Cuando de repente te das cuenta de que sus «puntos de vista» grupo es demasiado grande, puede reorganizar sin tomar el enorme impacto de mover archivos.

    • Gracias, este lo hizo por mí. Sí, no estoy planeando sobre-haciendo, sólo que al menos algunos conceptos básicos de la estructura de la organización es bueno tener. Hasta ahora he images/ que contiene imágenes/ficha-bar y las imágenes/jugador, así como la propiedad-lists/ a de la tienda .plist archivos y vistas/ a de almacén de la nib. Me hizo pensar físicamente haciendo un ‘Recursos’ de la carpeta, pero no sé cómo iba a hacerlo, cambiando la ruta de acceso de los Recursos existentes en grupo a la nueva carpeta de Recursos? O la creación de un ‘Recursos’ de grupo en virtud de los Recursos existentes en grupo?
    • Terminé re-hacerlo por medio de la adición de la carpeta(s) de la carpeta de referencias. He leído por ahí que esto significa que la carpeta será seguido, así que cuando puedo agregar/quitar archivos, no tengo que hacer nada en el Xcode lado de las cosas. No sé si esto va a causar problemas más adelante en aunque.
    • Lo siento por el spam de comentarios. Resulta que una carpeta de referencia, significa que se crea que la estructura de carpetas en el resultado .app. La solución fue la creación de Recursos en el nivel superior-dir con la sub-dirs imágenes, opiniones, etc. y, a continuación, arrastre los sub-directorios en el grupo de Recursos de la izquierda, y la adición de ellos como de grupos. Ahora se ve la forma en que quiero que se vea en el sistema de archivos, y todavía se ve organizado en Xcode.
    • Parece que has caminado a través de exactamente el correcto proceso de aprendizaje. Carpeta de referencias a veces puede ser útil (yo la he usado para incluir grandes cantidades de documentación HTML), pero en general la forma en que ha hecho es lo mejor.
  2. 5

    La aceptada respuesta no trabajo para mí en Xcode 4.3.2. Parece que quitan el «Obtener información» en el menú opción. En lugar de eso hice esto:

    1. Creado el directorio en el disco donde yo quería.

    2. Fui al menú archivo

    3. Clic con el botón derecho en el grupo que quería añadir a

    4. Selecciona «Agregar Archivos para el nombre de proyecto»

    5. Agregado los archivos desde el directorio que he creado en (1)

  3. 3

    La vida es dura para los IDEs. Ellos tienen que mediar entre una sistema de ficheros mundo, donde el compilador, con sus archivos de origen en vivo, y la IU mundo, donde los programadores de trabajo.

    En los viejos tiempos que se formó el contemporáneo de codificación de la cultura, a todo el mundo, y los compiladores de las personas, se utiliza para vivir todo junto en el sistema de ficheros. Así que hoy todavía tenemos una tendencia a pensar que queremos controlar la ubicación de las fuentes y recursos de residir en el disco. Eso es bueno, porque necesitamos saber exactamente lo que los compiladores de comer.

    De todos modos si usted piensa que su IDE sólo como el frontend de un divertido sistema de base de datos de código fuente, y si realmente tienen plena confianza sobre sus capacidades y características (que rara vez es el caso), usted puede llegar a la conclusión de que si usted simplemente no se preocupan por el sistema de archivos que puede tener una vida mejor, como un programador (y como un ser humano).

    De que estás preguntando, porque Xcode no es muy buena ni amistosa sobre el sistema de ficheros de la organización del código y a la gente que es (correctamente) exigente en que va a aprender cómo mover los archivos en su derecho carpeta en el disco, y en su derecho Xcode grupo. Que, si se utiliza el «Crear carpeta de referencias para cualquier agregado carpetas», 1:1 relación.

    Pero usted va a ver mucha gente, y muchos ejemplos de proyectos de Apple itsef, que el uso de un plano simple árbol del sistema de ficheros con todo en la misma carpeta.

    Mi consejo es que al menos en público del grupo de los encabezados y los recursos en carpetas diferentes, algo que a la de Java/Maven, pero no hay ninguna convención universal.

    • Gracias, pero nunca me dijo Xcode aspirado en este. Soy nuevo en esto y me pregunto cómo se hace, y si se debería hacer. Es solo que cuando voy a ver mi repositorio de github, se ve muy desordenado con tener todo en el directorio de nivel superior.
    • Oh, lo siento, no quise ser grosero. Sé que se preguntan, yo tenía tus mismas inquietudes hace algún tiempo. Voy a cambiar de redacción.
    • No hay problema, gracias por la respuesta. Se aclaró algunas cosas.
    • Está bien, Xcode chupar en este. Lo ideal sería manejar un poco mejor, ya que hace que sea más fácil navegar proyectos en sitios como GitHub, por ejemplo.
  4. 2

    De hecho, es muy fácil llegar desde donde estás a donde quieres estar. Crear el images/ carpeta y poner todas las imágenes en ella. Ahora en la ventana de proyecto en Xcode, los archivos de imagen han ido de la red, porque no están en el lugar más. Obtenga Información acerca de ellos, y «Elegir…» la nueva ubicación.

    Tenga en cuenta que sólo porque usted se ha movido el archivo en el archivo de código fuente del sistema (conocido como $SRCROOT), no hay ningún cambio en la forma en que el archivo se utiliza en el producto. Si lo tengo copiado en Contents/Resources/ antes de mover el archivo, que es de donde obtiene copia para después. No subcarpeta será añadido en el lugar de destino.

    • Gracias! ¿Esto también funciona con la punta de los archivos y las listas de propiedades? Cuando me carga de estos en mi código, como por ejemplo una imagen, lo volvería a hacer imageNamed:@»archivo.png» o imageNamed:@»ruta/a/mi/archivo.png» ?

Dejar respuesta

Please enter your comment!
Please enter your name here