帮助在monotouch中绑定一个静态objective-c库

Posted

技术标签:

【中文标题】帮助在monotouch中绑定一个静态objective-c库【英文标题】:Help binding a static objective-c library in monotouch 【发布时间】:2011-04-15 00:40:46 【问题描述】:

我需要帮助绑定我创建的静态 Obj-c 库,以便在 MonoTouch 中使用,使用 btouch。

我知道创建 API 文件时的基本语法,但我的库中有一些函数,我根本找不到正确的绑定方法:S

这是我的标题的样子:

- (UIImage*) functionSampleOne:(CGImageRef)srcCGImage;
- (UIImage*) functionSampleTwo:(CGImageRef)srcCGImage;
CGImageRef functionSampleThree(CGImageRef image);

这个标头的 btouch api 是什么样的?如何绑定 UIImage* 和 CGI​​mageRef?

【问题讨论】:

【参考方案1】:

就像任何其他对象一样:

[Export("functionSampleOne:")]
UIImage FunctionSampleOne(CGImage srcImage);

不要忘记在 API 定义文件中添加适当的命名空间:

using MonoTouch.UIKit;
using MonoTouch.CoreGraphics;

【讨论】:

这正是我第一次尝试的方式,但没有成功。但是现在在你确认它是正确的方法之后,我在我的代码中发现了另一个实际上导致异常的错误,所以它现在可以工作了! :) 谢谢! :) 只是一个注释。您应该确保一旦它在模拟器中运行,它就可以在设备上运行。您可能必须创建一个大型静态库才能在两者上工作。当然,除非您为每个环境构建单独的库。

以上是关于帮助在monotouch中绑定一个静态objective-c库的主要内容,如果未能解决你的问题,请参考以下文章

Monotouch中的自定义UITabBar

MonoTouch 如何为带有静态单元格的 UITableViewController 实现 RowSelected

使用 AudioQueue 和 Monotouch 静态声音录制

MonoTouch <--> 静态库异常:无法在包中加载 NIB

通过 monotouch 绑定在 Interface Builder 中创建为 UIView 的自定义控件

MonoTouch 绑定无法使用字段