2015-12-02 72 views
3

运行,当我处理来自我Xamarin.Forms应用一个WCF请求,我得到这个例外同时:试图JIT编译方法(....)与--aot只

“试图JIT编译方法 '(包装运行时调用):runtime_invoke_bool_Nullable`1(对象,IntPtr的,IntPtr的,IntPtr的)'。而只有--aot运行 有关更多信息,请参见http://docs.xamarin.com/ios/about/limitations \ n”

请,怎么可能。我解决这个问题?我已经检查了服务器端,但似乎没问题。

其余的WCF请求工作正常,这只发生在设备(不在模拟器)。

发生这种情况只在iOS,在Android它工作正常。

谢谢。

+1

的iOS不允许JIT'ing,一切都必须AOT编译......苹果公司的限制,所有的应用程序(除了他们的硝基JavaScript引擎中的JavaScript JIT'ing)。 – SushiHangover

+0

@ Fran_gg7你有没有找到解决方案? – Hetal

回答

-1

的iOS不允许动态代码生成/ JIT'ing,一切都必须AOT编译...所有的应用程序的苹果安全限制,自己硝基JavaScript引擎内JIT'ing是一个例外,该规则。

Xamarin解释了它相当不错,在经由异常提供的链接:

没有动态代码生成

由于iPhone的内核防止了 应用程序从生成代码中动态单声道的iPhone呢 不支持任何形式的动态代码生成。这些包括:

System.Reflection.Emit不可用。

不支持System.Runtime.Remoting。

用于动态创建类型(无 Type.GetType( “MyType`1”))不支持,虽然查找现有各类 (例如Type.GetType( “System.String”),工作得很好)。

在编译时反向回调必须在运行时注册。

编号:http://developer.xamarin.com/guides/ios/advanced_topics/limitations/#No_Dynamic_Code_Generation

+2

好的,谢谢你的这个信息,但我的问题是......如何解决这个问题?非常感谢伴侣:) –