2011-01-08 74 views
4

是否可以将使用monotouch编译的C#库与单个应用程序中的Objective-C前端链接起来,还是应用程序必须全部或全部都没有?单点触摸和原生iOS代码

+0

我不知道monotouch,但我认为如果monotouch已经编译它,iOS可以运行代码。我不知道如何使用API​​调用C#库,但我认为链接可能是 – vodkhang 2011-01-08 07:22:26

回答

3

这是可能的,但您不会从MonoTouch工具获得任何帮助,并且您无法摆脱这样的事实,即您仍然必须拥有Mono运行时才能执行您的C#代码。

为了向Objective-C应用程序提供Mono运行时,运行时必须嵌入到应用程序中。 MonoTouch网站上有关于如何做到这一点的一些文档here,你可以找到更多关于将Mono嵌入到应用程序here的技术细节。

MonoTouch在编译C#代码时会生成Objective-C用来调用该代码的.m和.s文件。这些文件需要包含在耗费的Objective-C项目中,但MonoTouch在使用完毕后会清理这些文件。为了保持mtouch,MonoTouch编译器从删除.m和.s文件中调用编译器时使用--keeptemp选项。你可以找到一个好的sample Makefile here来帮助你弄清楚如何从命令行正确调用mtouch。

最后,您将需要完整版本的MonoTouch才能做到这一点。试用版不会生成.s文件。

+0

感谢您的信息。试用版不具备测试这个功能所需的支持令人失望,但是图书馆的规模足够大,它仍然可能比港口便宜。 – 2011-01-08 20:40:41