17

我下载了TouchDB,这是一个“适合嵌入移动或桌面应用程序的轻量级 Apache CouchDB 兼容数据库引擎”,它为我提供了一堆.framework文件夹(CouchCocoa.framework、TouchDB.framework 和 TouchDBListener.framework)。

我一直在阅读关于将 Obj-C 库绑定到 MonoTouch 的文章,它展示了如何绑定 a.a,但没有展示如何绑定 a .framework

我如何为这些绑定.framework.a或者我应该在使用它们之前以某种方式制作.framework它们(如果可能的话)?

- 编辑 -

相关:https ://bitbucket.org/LouisBoux/touchdb-monotouchbinding

4

2 回答 2

27

在 MonoTouch 中绑定 .framework 需要几个步骤,.framework 是一个目录,通常包含库包的所有部分(例如,头文件、资源和库文件)。以下是绑定 .framework 所需的一般步骤。

  • 像创建普通库文件 (libXXX.a) 一样创建绑定项目

  • .framework 中的等效库是 .framework 目录根目录下没有扩展名的文件,例如我最近为 RDPDFKit.framework 编写了绑定,顶层文件是一个名为 RDPDFKit(无扩展名)的文件,重命名将此复制到“libRDPDFKit.a”并复制到您的绑定项目并将其添加到项目中。它将使用支持的平台(例如,x86、arm6 等)创建一个代码隐藏文件。这方面的所有文档都在 Xamarin 的网站上。

  • 像定义普通库一样定义绑定。

  • 如果框架有 .bundle,请将其复制到您的 Program 项目(不是绑定项目),它需要作为程序的资源添加。将此目录添加到项目及其下面的所有项目中,这是因为 DLL 不支持 monotouch 中的资源。

  • 生成的 monotouch 绑定 DLL 将包含整个 .a 文件以供以后链接,因此在构建 .dll 后您将不需要 .a 文件。

于 2012-10-25T13:48:10.687 回答
3

You can use the .framework files just like the .a files. E.g. all the bindings MonoTouch provides (in monotouch.dll) are made from .framework files.

于 2012-05-14T15:55:08.950 回答