奇怪的Xamarin.iOS错误只有启用调试(adhoc /发布版本)

时间:2017-07-18 08:43:16

标签: ios xamarin build xamarin.ios pushviewcontroller

我与Xamarin.iOS有两个奇怪的问题:

1)NavigationController.PushViewController在启用Debug时正常工作,而禁用调试则无效。

2)禁用调试后,应用程序会在大约60秒后崩溃,但不会在设备上崩溃。

首先我注意到Debug和AdHoc构建之间的区别。但是现在当我使用AdHoc构建并打开“启用调试”时它神奇地工作,无需进一步调整设置。删除调试符号,并将Debug info设置为None。

我在几年前在这个论坛和forums.xamarin上看到了另外两个类似的问题,没有答案。我在项目中尝试了不同的链接器和编译器以及GC设置,但它们没有帮助。

希望有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

您可以使用一个hack从设备获取有关崩溃的更多信息。由于您的所有代码都可以通过单声道运行时执行,因此您可以通过将UIAplication.Main函数包装到try-catch块中来轻松捕获大量崩溃,并将异常字符串保存在设备的某个位置。

Main.cs中的

public class Application {
    static void Main(string[] args) {
        try {
            UIApplication.Main(args: args, principalClassName: null, delegateClassName: typeof(AppDelegate).Name);
        } catch (Exception e) {
            // save e.ToString() somewhere
        }
    }
}