2011-03-04 41 views
0

我试图用btouch工具绑定到一个objective-c库。我应该绑定到为iPhone或iOS模拟器构建的库(lib.a文件)吗?如果有什么区别?Monotouch绑定到Obj-c库

另外,如果我绑定到调试版本与发布版本,它有什么区别吗?

回答

1

使用iPhone或.a版本的.a文件在您实际构建和运行时非常重要。该库的sim版本是为intel x86架构而构建的,iOS设备版本是为armv6/arvm7构建的,所以重要的是链接到与您的目标相匹配的静态lib版本。您可以创建一个兼容sim和iOS设备的大型图书馆。如果你在Google上查找,将会有一些关于如何将两者联系在一起的介绍。

+0

这就是你在编译[monotouch-facebook](https://github.com/kevinmcmahon/monotouch-facebook)sdk时所做的事情吗?我试图绑定到压缩文件的第三方库([ziparchive](http://code.google.com/p/ziparchive/))。 btouch生成.dll罚款。 MonoDev编译项目,但模拟器碰到调用obj-lib的行时没有错误。 – 2011-03-04 18:50:19

+0

是的,这正是我用monotouch-facebook所做的。我在github上分发了官方的facebook ios obj-c项目,并添加了一些构建后步骤,以便在构建结束时自动创建胖静态库。你可能想要做类似的事情,因为你可以访问ziparchive代码。 – 2011-03-04 19:23:23

+0

感谢您的帮助。这对我来说是什么。我希望你不要介意我把你的monotouch-facebook项目作为这个绑定的模板:[monotouch-ziparchive](https://github.com/ayoung/monotouch-ziparchive)。 – 2011-03-07 19:38:37