iOS App Store ExecutionEngineException 尝试 JIT 编译 [英] iOS App Store ExecutionEngineException attempting to JIT compile

查看:25
本文介绍了iOS App Store ExecutionEngineException 尝试 JIT 编译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个非常尴尬的问题.我已经为 iOS 构建了我的应用程序并在所有模拟器上对其进行了测试,并且运行良好.我已将它安装在设备(iPhone 6 plus)上,并且运行良好.然而,当我将它提交到应用商店时,反馈是它在所有设备上启动时崩溃.随附的崩溃日志显示了此错误;

I have a really awkward problem. I have build my app for iOS and tested it on all emulators and it works fine. I have installed it on a device (iPhone 6 plus) and that works fine as well. However, when I submit it to the app store, the feedback is that it crashes on launch on all devices. The crash log attached shows this error;

Unhandled Exception:
    System.ExecutionEngineException: Attempting to JIT compile method 'GalaSoft.MvvmLight.Messaging.Messenger:get_Default ()' while running with --aot-only. See http://docs.xamarin.com/ios/about/limitations for more information.

导致这个错误的代码在ViewWillAppear中;

The code that causes this error is in ViewWillAppear;

Messenger.Default.Register<LoggedInFailedMessage>(this, LoginFailed);
Messenger.Default.Register<LoggedInMessage>(this, LoggedIn);

下面的堆栈溢出线程似乎表明它可能是由使用值类型引起的,但我使用的是引用类型.

The below stack overflow thread seems to indicate it might be caused by using value types, but I am using reference types.

System.ExecutionEngineException: Attempting to JIT compile method仅在设备上的调试模式 (MonoTouch)

任何想法将不胜感激!我不知道如何测试这些错误,如果它们在我在模拟器和设备上调试时有效,但在 Apple 测试时失败.

Any ideas would be greatly appreciated! I don't know how I can test for these errors if they work when i debug on emulator and device but fail when apple test it.

推荐答案

大部分问题早已解决.确保您的 AppStore 版本(或您曾经提交的版本)的选项与您正在测试的版本(例如 调试 版本)相匹配.

Most of those issues where fixed a long time ago. Make sure your options for the AppStore builds (or the one you used to submit) match the one you're testing (e.g. Debug builds).

特别要确保在您提交的构建中启用通用值类型共享选项开启.这将包括一些额外的代码,以确保所有值类型代码路径变体在运行时都可用.

In particular make sure that the Enable generic value type sharing options is ON on the build you are submitting. This will include some extra code to ensure all value types code path variants are available at runtime.

请注意,默认情况下此设置应该已经开启.确保您的调试/发布设置大部分(调试内容除外)相同仍然是一个好习惯.否则,您可能会在本地测试与提交给商店的代码不同的代码.

Note that this setting should already be ON by default. Still it's a good practice to ensure your debugging/release settings are mostly (except debugging stuff) identical. Otherwise you risk testing different code, locally, than what you're submitting to the store.

这篇关于iOS App Store ExecutionEngineException 尝试 JIT 编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆