是否可以在MonoTouch中使用C#编写的第三方库?例如,如果我需要进行图像处理并需要使用图像处理库...
或者重新解释一下这个问题:有人可以向我解释一下用Objective-C或C#编写的第三方库如何与MonoTouch一起使用?
答案 0 :(得分:7)
This answer is pretty much spot on with regards to C# libraries - 根据我使用C#库的经验,只要它们在.NET的Monotouch子集中运行,那么只需引用它们就不会遇到任何问题。我们的一个库确实使用了Monotouch尚未支持的部分.NET,我们很难让它们工作(我们只是重新编写了库来进行单点操作)
关于Objective-C; Monotouch附带了一个名为bTouch的工具,它使用API定义文件创建从Obj-C到C'#的绑定(通常你必须自己创建 - 或者下载其他人编写的文件)。然后是运行bTouch的情况,传递这个定义文件,它将生成.dll
bash$ /Developer/MonoTouch/usr/bin/btouch three20.cs -s:enum.cs
要获得完整的说明和谷歌代码项目,以帮助您开始并了解它如何更好地工作,请参阅下文:
答案 1 :(得分:1)
(仅限C#)
这在很大程度上取决于库本身的作用。可以简单地引用很多C#库; AOT然后只是处理它。但是,如果库进行了大量反射(相当有限),或者依赖于外部服务(P / Invoke等),或处理unsafe
代码(等),那么它就不会运行好吧(或者可能在iPhone上)。
更好的答案可能是询问第三方现在或将来是否有效(可能是特定的目标dll)。