2012-03-10 19 views

Respuesta

25

Desarrollador de ParseKit aquí.

bien, después de trabajar a través de a tricky issue in Xcode 4, he descubierto mi forma preferida de hacer esto: Crear un nuevo espacio de trabajo ("MySuite") que contiene dos sub-proyectos

  • su proyecto de aplicación Cocoa Mac (" MiApl ")
  • El ParseKit Proyecto Marco (" ParseKit ")

puede elegir diferentes nombres que "MyApp" y "MySuite", por supuesto.

Hay algunas maneras diferentes de que esto suceda. Aquí hay una forma:

  1. Primero, asegúrese de actualizar a la última versión de ParseKit desde el tronco del código de Google. Recientemente he modernizado el proyecto Xcode para Xcode 4.3.1.

    svn checkout http://parsekit.googlecode.com/svn/trunk/ parsekit-trunk

  2. Asegúrese de que usted no tiene la ventana abierta ParseKit proyecto Xcode. Este es un issue in Xcode up to version 4.3.1 (y tal vez más tarde, no estoy seguro).

  3. Cree un proyecto Mac "Cocoa Application" llamado "MyApp". File > New > Project…. (Ya ha creado su aplicación. Eso está bien. A continuación, omita este paso.)
  4. Arrastre el archivo ParseKit.xcodeproj desde el Finder a laparte superior del Navegador de proyectos en la ventana del proyecto Xcode "MyApp". NOTA: asegúrese de colocar el archivo en el muy alto del árbol de Project Navigator. De lo contrario, no funcionará. Drag ParseKit Project To MyApp Project Navigator

  5. Xcode presentará un cuadro de diálogo: "¿Desea guardar este proyecto en un nuevo espacio de trabajo?" Haga clic en "Guardar" y nombre el Espacio de trabajo algo así como "MySuite". Save Workspace

  6. Seleccione el proyecto "MyApp" en Project Navigtor.
  7. Seleccione el objetivo "MyApp" en la lista "Objetivos".
  8. Seleccione la pestaña "Fases de compilación".
  9. Haga clic en el triángulo desplegable junto a "Dependencias de destino" para abrir la lista.
  10. Haga clic en el botón "+" en la parte inferior de la lista.
  11. Seleccione "ParseKit.framework" del cuadro de diálogo resultante y haga clic en "Agregar" para agregar ParseKit como una dependencia de su destino. Esto asegura que ParseKit se construye antes que tu objetivo.
  12. Haga clic en el triángulo desplegable junto a "Enlazar binario con bibliotecas" para abrir la lista.
  13. Haga clic en el botón "+" en la parte inferior de la lista.
  14. Seleccione "ParseKit.framework" en el cuadro de diálogo resultante y haga clic en "Agregar".
  15. Haga clic en el triángulo desplegable junto a "Enlazar binario con bibliotecas" para abrir la lista.
  16. Haga clic en el botón "+" en la parte inferior de la lista.
  17. Seleccione "ParseKit.framework" en el cuadro de diálogo resultante y haga clic en "Agregar". enter image description here

  18. Consulte "ParseKit.framework" en la lista "Enlace binario con bibliotecas". enter image description here

  19. Haga clic en el botón "Agregar fase de construcción", elija "Copiar archivos" en la ventana emergente. Add Build Phase
  20. En la nueva fase de compilación "Copiar archivos", seleccione "Frameworks" en la ventana emergente "Destino". Choose Frameworks in the Destination popup
  21. Arrastre "ParseKit.framework" del Project Navigator a la lista en la nueva fase de compilación "Copiar archivos". Drag ParseKit.framework to Copy Files build phase
  22. En MyAppDelegate.m, importar la cabecera ParseKit:

    #import <ParseKit/ParseKit.h>

  23. En -[MyAppDelegate applicationDidFinishLaunching:] hacer:

    NSString *g = @"@start = Word+;"; 
    PKParser *p = [[PKParserFactory factory] parserFromGrammar:g assembler:self error:nil]; 
    NSError *err = nil; 
    id result = [p parse:@"foo bar baz" error:&err]; 
    NSLog(@"%@", result);

  24. generar y ejecutar.

Para obtener más información sobre este tema, ver:

+1

Guau, no esperaba respuestas tan agradables, gracias. –

+0

seguido similar tutorial (http://pymatics.com/2011/12/23/tutorial-develop-a-private-framework-for-your-mac-app-using-xcode-4s-workspace-feature/) no compilar Error de compilación cuando incluí mi archivo .h de framework en la aplicación. En comparación con su tutorial, incluya en el paso 16 diferentes. Tenía mi archivo .h sin referencia de directorio: tiene "ParseKit/ParseKit.h", mientras que yo tenía el equivalente de "ParseKit.h". Si agrego el directorio al frente del nombre del archivo, mi código se compila. ¿Dónde está el directorio al que me refiero? Es decir, ¿cuál es la ruta completa a la que se resuelve la directiva de importación? – GTAE86

+0

Atascado después del 10º paso, no puedo encontrar ParseKit.framework cuando hago clic en el símbolo + solo aparece el archivo MyAppTests. Y 12,13,14 y 15,16,17 son los mismos pasos ?? – Gamerlegend

2

Desarrollador de ParseKit aquí.

Disculpa, no tengo una buena respuesta para ti. Tengo algunos documentos obsoletos en how to use ParseKit in your iOS application usando Xcode 3.

Sin embargo, he intentado pasar por el proceso de integración de ParseKit.framework dentro de una aplicación Mac OS X utilizando Xcode 4, y honestamente no pude entender cómo para hacerlo en Xcode 4. Estoy desconcertado.

Lo que puedo decir es que la incorporación de ParseKit.framework en su aplicación Mac no debe ser muy diferente de incorporar cualquier otro marco en su aplicación Mac. No hay nada particularmente especial o inusual sobre ParseKit en este sentido. El problema es que no puedo encontrar la manera de hacer que en absoluto en Xcode 4.

Aquí está la documentación de Apple sobre cómo hacer esto:

Embedding a Private Framework in Your Application Bundle > Using Separate Xcode Projects For Each Target

Desafortunadamente, documentos de Apple también están desactualizados, y también describen el proceso en Xcode 3.

He pedido a question here on Stack Overflow para tratar de resolver este problema.

4
  1. abrir el proyecto en Xcode 4
  2. Asegúrese Navegador de proyectos se muestra
  3. Ctrl + clic en el archivo de proyecto (la página icono azul)
  4. Seleccionar añadir archivos a "YourProjectName"
  5. Seleccionar ParseKit.xcodeproj
  6. En Project Navigator seleccione su propiedad oject presentar
  7. Ir a Fases Construir
  8. Revelar Enlace binario con Bibliotecas y, o bien añadir ParseKit.framework haciendo clic + o arrastrar y soltar desde directorio de productos Navegador de proyectos 's de ParseKit .framework
  9. Agregar Copiar archivo fase haciendo clic en la parte inferior derecha Add Build Phase botón.
  10. Conjunto de destino a los marcos
  11. Repetir 8, pero para la nueva fase de construcción

También puede ser necesario añadir Objetivo Dependencia: repita el paso 8, pero para esta fase. Pero parece que Xcode puede resolverlos por sí mismo.

También recomiendo que cree un Workspace, hace que la administración del subproyecto sea mucho más fácil y parece que esto soluciona la mayor parte de los problemas potenciales, porque si Xcode no puede resolver las dependencias, siempre puede agregar secuencias de comandos para copiar archivos manualmente, dado los productos de los proyectos compartirán el mismo directorio de compilación.

+0

no tengo ParseKit.xcodeproj en las opciones. –

4

logré hacer esto utilizando cocoapods. Intente que si todavía está atascado

+2

CocoaPods también hizo el truco para mí. Tengo el proyecto arriba en ambos sentidos y CocoaPods es la ruta más rápida. – Kyle

Cuestiones relacionadas