2011-08-22 14 views
7

Estoy escribiendo una aplicación para iOS en XCode 4 y tropecé con un problema con #import statement.XCode, folders y #import statement

Todos mis archivos fuente están organizados en carpetas, cada carpeta se asigna al grupo o subgrupo en XCode. Considere lo siguiente:

ProjectFolder

-SubFolderA

--FileA.h

-SubFolderB

--FileB.m

Por lo general, si quiero importar FileA en FileB, escribo #import "FileA.h", y funciona perfectamente. Pero a veces tengo que escribir la ruta relativa, como #import "../SubFolderA/FileA.h". ¿Qué debo hacer para poder escribir siempre solo el nombre del archivo?

Este comportamiento me parece indeterminado.

PD: No quiero mantener todo este lío en una sola carpeta raíz.

PS # 2: Sí, sé cómo la 'carpeta' difiere de 'grupo'. Creé carpetas en la etapa inicial del proyecto, las arrastré desde Finder a XCode y las correlacioné con grupos. Y todo funcionó bien, pude importar encabezados usando solo nombres de archivo.

Respuesta

4

Siempre puede establecer las "Rutas de búsqueda de encabezado" en las opciones de compilación para especificar en qué directorios buscar. Sin embargo, no confunda las carpetas y los grupos. Ellos son completamente independientes. En particular, los grupos son simplemente una conveniencia que le permite organizar sus archivos dentro de Xcode.

+1

Entonces, tengo alrededor de una docena de carpetas, y tengo que agregar todas las rutas de búsqueda de encabezado para depurar y liberar? ¿Hay alguna forma de automatizar el proceso? ¿Por qué todo funcionó bien antes? – Dmitriy

1

XCode se parece mucho a iTunes en algunos aspectos, quiere administrar sus archivos y ocultarlos. Cuando creas un grupo en XCode, su aspecto es el de una "carpeta", pero si vas a la carpeta del proyecto real, verás archivos en todas partes.

6

Busque "Escanear todos los archivos de origen para incluir" en la configuración de compilación de su proyecto y destino y cambie el valor de "NO" a "Sí". Solucionará este problema.