2017-06-02 51 views
2

在設備上以發佈模式運行應用程序時出現錯誤: ExecutionEngineException - 嘗試JIT編譯方法'AudioJack.ACRAudioJackReader:.ctor (bool)',而以純模式運行。有關更多信息,請參閱https://developer.xamarin.com/guides/ios/advanced_topics/limitations/(Xamarin iOS):ExecutionEngineException - 嘗試在非純模式下運行時的JIT編譯方法

Xamarin iOS最新更新後出現。 在調試模式下在設備上正常工作。 還試圖禁用編譯器優化 - 沒有幫助。

我正在使用iOS綁定到AudioJack庫和構造函數導致錯誤。

[BaseType(typeof(NSObject))] 
interface ACRAudioJackReader 
{ 

    [ExportAttribute("initWithMute:")] 
    IntPtr Constructor(bool isMute); 
} 

查看了與這個問題有關的所有文章,但是還沒有找到解決辦法。

有沒有人有一個想法如何解決?

謝謝

回答

1

TL; DR

您需要打開啓用優化的問題結合項目選項。


我有類似的問題,你的。

我在Mac上工作,並從Xamarin工作室切換到最新的Visual Studio for Mac可以。更新應用程序停止在iOS設備上工作後,有趣的是,模擬器沒有問題。

在運行期間發生錯誤,我想從這個有問題的庫中初始化對象。我的應用有很少的iOS綁定項目,但只有一個導致了這樣的問題。我不想在其他項目中引入任何不必要的更改。

最後,我發現在我的情況下,打開啓用優化包含此問題庫的綁定項目。該應用程序的項目(這是唯一使用該庫的項目)沒有改變。

因爲我知道我的應用程序正在更新之前工作,所以我認爲這是一個Xamarin問題,所以我只專注於找到解決方案,而不是原因。


你可以找到這個選項:

項目選項>構建>編譯>啓用優化

Screenshot for Enable optimizations in Visual Studio for Mac

相關問題