我有一个非常尴尬的问题。我已经为iOS构建了我的应用程序,并在所有模拟器上进行了测试,它工作得很好。我已经在一台设备(iPhone 6 plus)上安装了它,它也工作得很好。然而,当我将其提交到应用商店时,得到的反馈是它在所有设备上启动时都会崩溃。附加的崩溃日志显示此错误;
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中;
Messenger.Default.Register<LoggedInFailedMessage>(this, LoginFailed);
Messenger.Default.Register<LoggedInMessage>(this, LoggedIn);下面的堆栈溢出线程似乎表明它可能是由使用值类型引起的,但我使用的是引用类型。
任何想法都将不胜感激!当我在模拟器和设备上调试时,我不知道如何测试这些错误,但当苹果测试它时,它们却失败了。
发布于 2015-01-26 07:53:40
这些问题中的大多数在很久以前就已经解决了。确保您的AppStore版本(或用于提交的版本)的选项与您正在测试的版本(例如,调试版本)匹配。
特别是,在您提交的构建上,确保Enable generic value type sharing选项是 on 。这将包括一些额外的代码,以确保所有值类型代码路径变量在运行时都可用。
请注意,默认情况下,此设置在上应该已经是。不过,最好的做法是确保您的调试/发布设置(调试内容除外)基本相同。否则,您可能会在本地测试与提交给商店的代码不同的代码。
https://stackoverflow.com/questions/28123471
复制相似问题