Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MonoTouch中的第三方库?_C#_Objective C_Xamarin.ios - Fatal编程技术网

C# MonoTouch中的第三方库?

C# MonoTouch中的第三方库?,c#,objective-c,xamarin.ios,C#,Objective C,Xamarin.ios,是否可以在MonoTouch中使用C#编写的第三方库?例如,如果我需要做图像处理,需要利用图像处理库 或者重新表述这个问题:有人能向我解释一下用Objective-C或C编写的第三方库如何与MonoTouch一起使用吗 这在很大程度上取决于图书馆本身做什么。许多C#库可以简单地被引用;然后AOT只处理它。然而,如果该库进行了大量的反射(这是相当有限的),或者依赖于外部服务(P/Invoke等),或者处理不安全的代码(等),那么它在iPhone上就不能很好地运行(或者根本不能运行) 更好的答案可能

是否可以在MonoTouch中使用C#编写的第三方库?例如,如果我需要做图像处理,需要利用图像处理库

或者重新表述这个问题:有人能向我解释一下用Objective-C或C编写的第三方库如何与MonoTouch一起使用吗

这在很大程度上取决于图书馆本身做什么。许多C#库可以简单地被引用;然后AOT只处理它。然而,如果该库进行了大量的反射(这是相当有限的),或者依赖于外部服务(P/Invoke等),或者处理
不安全的
代码(等),那么它在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 
有关帮助您入门并更好地理解其工作原理的完整解释和谷歌代码项目,请参见以下内容: