我与Xamarin.iOS有两个奇怪的问题:
1)NavigationController.PushViewController在启用Debug时正常工作,而禁用调试则无效。
2)禁用调试后,应用程序会在大约60秒后崩溃,但不会在设备上崩溃。
首先我注意到Debug和AdHoc构建之间的区别。但是现在当我使用AdHoc构建并打开“启用调试”时它神奇地工作,无需进一步调整设置。删除调试符号,并将Debug info设置为None。
我在几年前在这个论坛和forums.xamarin上看到了另外两个类似的问题,没有答案。我在项目中尝试了不同的链接器和编译器以及GC设置,但它们没有帮助。
希望有人可以帮助我。
答案 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
}
}
}