我下载了TouchDB,一个“适合嵌入移动或桌面应用程序的轻量级Apache CouchDB兼容数据库引擎”,它为我提供了一堆.framework
个文件夹(CouchCocoa.framework,TouchDB.framework)和TouchDBListener.framework)。
我一直在阅读article on binding Obj-C libraries to MonoTouch,它显示how to bind a .a
,但不是如何绑定.framework
。
如何为这些.framework
制作绑定?或者我应该在使用它们之前以某种方式制作.a
这些.framework
(如果可能的话)?
- 编辑 -
答案 0 :(得分:27)
在MonoTouch中绑定.framework需要几个步骤,.framework是一个通常包含库包的所有部分的目录(例如,头文件,资源和库文件)。以下是绑定.framework所需的一般步骤。
像创建普通库文件一样创建绑定项目(libXXX.a)
.framework中的库等效文件是没有扩展名的文件,位于.framework目录的根目录下,例如我最近为RDPDFKit.framework编写了绑定,顶级文件是名为RDPDFKit的文件(没有扩展名),将其重命名为“libRDPDFKit.a”并复制到您的绑定项目并将其添加到项目中。它将使用支持的平台(例如,x86,arm6等)创建一个代码隐藏文件。所有文档都在Xamarin的网站上。
定义绑定,就像使用普通库一样。
如果框架有.bundle,将其复制到程序项目(而不是绑定项目),则需要将其作为程序的资源添加。将此目录添加到项目及其下的所有项目,这是因为DLL中不支持monotouch中的资源。
生成的monotouch绑定DLL将包含整个.a文件以供以后链接,因此在构建.dll后不需要.a文件。
答案 1 :(得分:3)
您可以像.framework
文件一样使用.a
文件。例如。 MonoTouch提供的所有绑定(在monotouch.dll中)都是由.framework
个文件组成的。