2017-06-02 54 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

相关问题