2012-02-21 11 views
61

Sigo buscando, pero no puedo encontrar una explicación clara y simple sobre cómo incluir un proyecto de XCode, junto con todas sus subclases en otro proyecto. Veo rutinariamente cosas así en proyectos de muestra que descargo de la web, pero no sé cómo hacerlo yo mismo.Xcode 4.2 ¿cómo incluir un proyecto en otro?

Dentro de XCode, junto con los archivos .h y .m, y las carpetas, hay un proyecto completamente nuevo, que comienza con un icono de proyecto xcode azul, que se puede expandir para contener todo dentro del proyecto.

Por favor, ¿alguien me puede explicar paso a paso qué debo hacer para agregar un proyecto XCode a otro? He visto una tonelada de líneas como "rutas de búsqueda de encabezado", pero eso no me dice mucho.

ACTUALIZACIÓN: Después de volver a leer la documentación, me di cuenta de que el proyecto que se debe incluir se debe arrastrar EN el icono del proyecto AZUL del proyecto principal. Las fuentes normales se pueden arrastrar a cualquier lugar, pero un proyecto debe arrastrarse a un proyecto.

¡Gracias!

Respuesta

126

Esto tiene mucho sentido cuando intenta agregar una biblioteca estática a sus proyectos de xcode. Hay un par de pasos necesarios para hacer esto. Primero, asegúrese de que el proyecto de biblioteca estática sea y no abierto en XCode.

Luego, comience por arrastrar y soltar el archivo xcodeproj de la biblioteca estática (desde el Finder) al proyecto xcode de su aplicación. StaticLib

Después de esto, necesita agregar esta biblioteca a las fases de compilación de su aplicación. Haga clic en el proyecto principal y seleccione la pestaña BuildPhases del objetivo.

Build Phases

vas a querer añadir otro proyecto para las Dependencias objetivo y para su enlace binario con Sección de Bibliotecas.

Finalmente, la aplicación debe tener en cuenta sus encabezados. Por lo tanto, debe agregar la ruta a sus clases de bibliotecas estáticas a sus Rutas de búsqueda de encabezado de usuario. Vaya a la configuración de compilación del objetivo principal y busque la ruta de búsqueda del encabezado.

Header Search Path

Esto hará que su aplicación consciente de la nueva biblioteca estática.

A veces es necesario agregar algunas otras banderas del enlazador. En la configuración de generación buscar Otras banderas Linker y añadir -all_load y -ObjC

Other Linker Flags

Espero que esto ayude, sé que la primera vez que trataba de hacer esto yo estaba golpeando mi cabeza contra la pared por un tiempo.

+0

Si esta publicación fue útil, marque como respuesta. :) Déjeme saber si usted tiene preguntas. – MobileOverlord

+0

¡OMG eso es molesto! – AlexChaffee

+21

Detalle importante, muchachos: el proyecto que estás arrastrando no debería estar abierto en Xcode. En caso de que alguien se enfrenta al mismo problema que yo. :) – inket

4

Puede arrastrar y soltar cualquier archivo xcode-project (* .xcodeproj) en el panel de navegación del proyecto deseado de su proyecto principal.

Es posible que deba agregar dependencias de destino, según sus necesidades.

¿Es eso lo que quieres decir?

+0

Parte de la razón por la que pregunto es porque traté de arrastrar el .xcodeproj, y no copió todas las subcarpetas. Peor aún, cuando traté de eliminar el .xcodeproj para intentar arrastrarlo de nuevo, borré accidentalmente el .xcodeproj del disco. Ese fue un día divertido ... no –

+0

Eso es porque un proyecto de XCode almacena referencias a archivos, no copias reales. Es por eso que al eliminar su archivo se borró el archivo original del disco. Y dado que solo se almacenan las referencias, las subcarpetas no se copian necesariamente (solo si se referencian en el proyecto). – JiaYow

+0

Alex, comienza a usar github o algún servicio de svn. De esa manera no pierdes y puedes jugar. –

1

arrastre y suelte el archivo xcode a otro archivo xcode del buscador. Le pedirá que copie el archivo, luego marcará la casilla de verificación y se copiará a su proyecto.

3

Asegúrese de elegir "crear grupos" en lugar de "crear referencias de carpeta". Si su carpeta es azul en lugar de amarilla, entonces tiene una referencia de carpeta. La carpeta debe ser amarilla.

1

Asegúrese de que el proyecto que desea agregar como subproyecto no esté abierto, antes de agregarlo o soltarlo.

+1

¡Gracias! Esto fue un salvavidas para mí. –

+0

@VibhorGoyal De nada, también tuve problemas con esto hace un tiempo :). – Raspu

Cuestiones relacionadas