如何从.framework创建MonoTouch绑定

Lou*_*oux 17 binding couchdb xamarin.ios couchcocoa

我下载了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

Ken*_*nny 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文件.


pou*_*pou 3

您可以.framework像使用.a文件一样使用这些文件。例如,MonoTouch 提供的所有绑定(在 monotouch.dll 中)都是由.framework文件组成的。