2015-12-02 68 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

好的,謝謝你的這個信息,但我的問題是......如何解決這個問題?非常感謝伴侶:) –