C# MonoTouch中的第三方库?
是否可以在MonoTouch中使用C#编写的第三方库?例如,如果我需要做图像处理,需要利用图像处理库 或者重新表述这个问题:有人能向我解释一下用Objective-C或C编写的第三方库如何与MonoTouch一起使用吗 这在很大程度上取决于图书馆本身做什么。许多C#库可以简单地被引用;然后AOT只处理它。然而,如果该库进行了大量的反射(这是相当有限的),或者依赖于外部服务(P/Invoke等),或者处理C# MonoTouch中的第三方库?,c#,objective-c,xamarin.ios,C#,Objective C,Xamarin.ios,是否可以在MonoTouch中使用C#编写的第三方库?例如,如果我需要做图像处理,需要利用图像处理库 或者重新表述这个问题:有人能向我解释一下用Objective-C或C编写的第三方库如何与MonoTouch一起使用吗 这在很大程度上取决于图书馆本身做什么。许多C#库可以简单地被引用;然后AOT只处理它。然而,如果该库进行了大量的反射(这是相当有限的),或者依赖于外部服务(P/Invoke等),或者处理不安全的代码(等),那么它在iPhone上就不能很好地运行(或者根本不能运行) 更好的答案可能
不安全的代码(等),那么它在iPhone上就不能很好地运行(或者根本不能运行)
更好的答案可能是向第三方询问这是现在还是将来(可能是使用特定的目标dll)。-根据我使用C#库的经验,只要它们在.NET的Monotouch子集中运行,那么简单地引用它们就不会遇到任何问题。我们的一个库确实使用了Monotouch尚不支持的.NET部分,我们很难让它们正常工作(以至于我们刚刚重写了该库来为Monotouch工作)
关于目标C;Monotouch附带了一个名为bTouch的工具,该工具使用API定义文件(通常您必须自己创建或下载其他人编写的文件)创建从Obj-C到C'的绑定。然后运行bTouch,传递这个定义文件,它将生成.dll
bash$ /Developer/MonoTouch/usr/bin/btouch three20.cs -s:enum.cs
有关帮助您入门并更好地理解其工作原理的完整解释和谷歌代码项目,请参见以下内容: