2012-05-14 6 views
14

He descargado TouchDB, un "motor de base de datos compatible con Apache CouchDB liviano adecuado para su inclusión en aplicaciones móviles o de escritorio", lo que me da un montón de carpetas .framework (CouchCocoa.framework, TouchDB .framework y TouchDBListener.framework).Cómo crear un enlace MonoTouch desde .framework

He estado leyendo article on binding Obj-C libraries to MonoTouch, muestra how to bind a .a, pero no cómo vincular .framework.

¿Cómo puedo hacer un enlace para estos .framework? o debo hacer de alguna manera un .a de estos .framework antes de usarlos (si eso es posible)?

--EDIT--

relacionados: https://bitbucket.org/LouisBoux/touchdb-monotouchbinding

Respuesta

1

Puede utilizar los archivos .framework al igual que los archivos .a. P.ej. todas las vinculaciones que proporciona MonoTouch (en monotouch.dll) están hechas de archivos .framework.

+0

Bien, pero ¿hay alguna manera de tener algún tipo de [LinkWith] (como con archivos .a) con .framework, así que no tengo que hacer el enlace manualmente con los argumentos de mtouch? –

+0

No lo he usado con '[LinkWith]' pero hay un informe de error al respecto @ https://bugzilla.xamarin.com/show_bug.cgi?id=2530 – poupou

+0

Otra alternativa es http://stackoverflow.com/q/9078695/220643 – poupou

26

Enlazar un .framework en MonoTouch requiere varios pasos, un .framework es un directorio que generalmente alberga todas las partes de un paquete de biblioteca (por ejemplo, los archivos de encabezado, los recursos y el archivo de biblioteca). Estos son los pasos generales necesarios para enlazar un .framework.

  • Crear un proyecto encuadernaciones como si se tratara de un archivo de biblioteca normal (libXXX.a)

  • La biblioteca equivalente en una .framework es el archivo sin la extensión que se encuentra en la raíz de la. framework framework, por ejemplo, recientemente escribí enlaces para RDPDFKit.framework, el archivo de nivel superior era un archivo llamado RDPDFKit (sin extensión), le cambié el nombre a "libRDPDFKit.a" y lo copié a su proyecto de enlaces y lo agregué al proyecto. Creará un código detrás del archivo con las plataformas compatibles (por ejemplo, x86, arm6, etc.). Toda la documentación para esto está en el sitio web de Xamarin.

  • Defina los enlaces como lo haría para una biblioteca normal.

  • Si el marco tiene un .blundle, cópielo a usted Proyecto de programa (no el proyecto de enlaces), deberá agregarse como recursos para el programa. Agregue este directorio al proyecto y todos los elementos que se encuentran debajo, esto se debe a que los recursos en monotouch no son compatibles con las DLL.

  • La DLL de enlaces monotouch resultante contendrá el archivo .a completo para un enlace posterior, por lo que no necesitará el archivo .a después de compilar el archivo .dll.

+0

¿Es normal que no se genere nada en el código detrás de la plataforma de archivos? Solo dice LinkWith, SmartLink, Forceload pero nada con respecto a los objetivos. – Citroenfris

Cuestiones relacionadas