2010-05-21 15 views
5

Soy nuevo en el desarrollo de iPhone y todavía me estoy familiarizando con el entorno de desarrollo de Mac, incluido Xcode. Quiero agregar un código de terceros a mi proyecto de iPhone, pero cuando agrego los "archivos existentes" a mi proyecto Xcode, me aparece un cuadro de diálogo que tiene demasiadas opciones que no entiendo y, como tal, mi proyecto no está funcionando. Cuando yo #import headerfilename.h, obtengo un error de compilación que dice headerfilename.h: No such file or directory.¿Cómo agrego correctamente los archivos de código fuente existentes a mi proyecto de Xcode?

alt text http://joecrotchett.com/images/misc/fileadd.jpg

  1. Puede alguien explicarme qué significan todas estas opciones, o me dan un enlace a algún tipo de documentación que puede? Me está costando encontrar algo en los documentos de Apple.
  2. ¿Qué opciones deseo elegir para agregar los archivos de código fuente existentes a mi proyecto de Xcode? Debo señalar que los archivos de código fuente que estoy tratando de agregar se encuentran en mi proyecto/Classes/frameworkname/directory.
  3. Después de que se agreguen, ¿necesito hacer referencia a este nuevo directorio de código en la configuración de mi proyecto en cualquier lugar (es decir, algún tipo de variable de directorio de archivos de encabezado)?

¡Muchísimas gracias!

Actualización: me encontré con las siguientes respuestas/respuestas en los foros dev manzana que eran muy útil y me ayudó a arreglar mi problema ...

para que sea simple: - no si lo hace verifique la opción de copiar, el archivo permanece donde está. - si lo comprueba, se copia en las carpetas de su proyecto En el primer caso (lo que parece que está haciendo) necesita para decirle al compilador que los archivos de encabezado están en otro directorio: - información del proyecto -> construir -> rutas de búsqueda -> usuario cabecera Ruta de búsqueda: añadir el directorio desde donde se tomó la esperanza archivo de cabecera que esto ayudará


has descubierto el cuadro más confuso diálogo que nunca salió de Cupertino. Seis años de Xcode, y esto todavía es en parte un misterio para mí. Para llegar tan lejos, tuve que hacer muchos proyectos de prueba para probar y hacer ingeniería inversa de lo que hace esta cosa. El cuadro "Copiar" significa que copiará los archivos como están ahora, en el proyecto. Si esta casilla no está marcada con , solo hace referencia a esos archivos durante una construcción y los copia , ya que están en ESE momento. Para el código fuente , desea que se marque el cuadro Copiar.
El "relativo a" es un misterio total para mí y no puedo ayudarte con eso. Normalmente lo dejo, pero ya está configurado . ¿Significa relativo a donde están en el disco, o la disposición en Xcode, o en el paquete ? Quién sabe.Los últimos 2 botones de radio parecen significar que recrean la estructura de carpetas de la carpeta que está agregando, o simplemente colocan carpetas "falsas" en Xcode que señalan en las carpetas reales. Probablemente este es tu problema: estás agregando el código fuente que no está en el nivel superior, y cuando lo va a encontrar, no crea la jerarquía en . Otros pueden proporcionar una mejor manera, con suerte, , pero lo que yo haría es poner toda la fuente en una carpeta y agregar eso, utilizando el cuadro Copiar. Luego, en Xcode, puede hacer las carpetas falsas que desee y poner los nombres de los archivos de origen en esas carpetas falsas.

+0

https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_File_or_Folder.html –

Respuesta

0

copiar elementos en la carpeta del grupo de destino existente (si es necesario)

Bueno, sólo si desea que se copie los archivos. Si está contento con su ubicación actual y no quiere que se copie, no la seleccione (eso es lo que hago).

Tipo de referencia:

Un total misterio para mí

Codificación de texto

explica por sí mismo

crear grupos de forma recursiva cualquier añade carpetas crear referencias de carpeta para todas las carpetas añadido

dejar esto como el valor por defecto y luego organizan las carpetas en su proyecto Xcode cualquier forma que desee.

Añadir a objetivos

Si añade un objetivo adicional a su proyecto, por ejemplo, para versiones de iPhone vs. iPad, entonces no darse cuenta de que ha agregado los archivos por defecto a solo uno de ellos (¿al azar?) puede causar dolores de cabeza.

Además, asegúrese de agregar el nuevo directorio de encabezado a las rutas de búsqueda en Configuración del proyecto> Compilar> Rutas de búsqueda. Creo que eso es lo que está causando tu problema.

Espero que esto ayude, recuerdo lo confuso que era para mí al principio.

0

Si desea agregar un paquete de Framwork, simplemente agregue uno como uno. Add -> Existing Frameworks

+0

gracias, unset, pero estoy tratando de agregar código fuente, no un paquete de framework. – BeachRunnerFred

+0

No se puede usar el código vinculado frameworks (dinámicamente) en el iPhone, según la licencia de desarrollo de Apple. –

2

Creo que generalmente la opción predeterminada es la mejor. Si desea agregar en algún grupo, puede marcar en la "Copia de artículo al grupo de destino"

Usted no tiene que cambiar ninguna configuración del proyecto después de añadir

Y si desea agregar todo el marco código, por favor elija añadir marco

+0

gracias, vadkhang, pero las opciones predeterminadas no funcionan para mí. Los archivos del código fuente aparecen en mi panel "Grupos y archivos", pero parece que todavía no puedo usarlos en mi proyecto sin obtener el error de compilación "headerfilename.h: No such archivo or directory". – BeachRunnerFred

+0

eres w En realidad, realmente necesita cambiar la configuración del proyecto y agregar una ruta de búsqueda para sus archivos de encabezado en el Proyecto> Editar configuraciones del proyecto> Rutas de búsqueda. Solo para tu información. – BeachRunnerFred

+0

Oh, eso sucede si también quieres buscar archivos de encabezado. Pero creo que podemos agregar fácilmente tanto archivos de cabecera como archivos fuente usando la función de agregar elementos existentes, ¿verdad? – vodkhang

3

Esto es de la guía del usuario de Xcode:

"el navegador de proyectos muestra proyectos, grupos, carpetas y archivos:

El proyecto o proyectos en la ventana del espacio de trabajo son el nivel más alto de la jerarquía en el navegador del proyecto. Abra el triángulo de revelación del proyecto para ver los grupos, carpetas y archivos en el proyecto . Seleccione el proyecto para mostrar el editor del proyecto, donde puede ver y editar las configuraciones del proyecto y el objetivo

Aparece un grupo en el navegador del proyecto como un icono de carpeta amarilla. El grupo no representa una carpeta en el disco. Aunque puede organizar su proyecto en Xcode para reflejar la organización de archivos en disco, mover archivos dentro y fuera de grupos no afecta el contenido de las carpetas en el disco, y mover archivos dentro y fuera del disco hace no afecta el contenido de los grupos en el navegador del proyecto.

Una carpeta es una referencia a una carpeta en el disco y aparece en el proyecto navegador como un icono de carpeta azul. El contenido de la carpeta en el navegador del proyecto refleja el contenido de la carpeta en el disco. Es importante tener en cuenta, sin embargo, que los archivos que aparecen en una carpeta en el navegador del proyecto no son parte de su proyecto a menos que los haya agregado explícitamente al proyecto (en cuyo caso aparecen directamente debajo del proyecto o en un grupo, así como en la carpeta). Puede ver y editar los archivos en una carpeta, pero para mover archivos y fuera de la carpeta, debe usar el Finder.

Un archivo en el navegador de proyectos es una referencia a un archivo en el disco."

Cuestiones relacionadas