线程1信号SIGABRT以NSException类型的未捕获异常终止

时间:2015-11-10 11:56:51

标签: objective-c

我每次运行应用程序时都会收到以下错误。它转到我的main.m文件并在RED中突出显示:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

它还说线程1:信号SIGABRT并在输出中说: *断言失败 - [UIApplication _runWithMainScene:transitionContext:completion:],/ BuildRoot / Library / Cache / com.apple.xbs / Sources / UIKit / UIKit-3512.29.5 / UIApplication.m:3299 2015-11-10 22:54:13.484 TaskR Pro [7964:2256505] * 由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'应用程序窗口应该有一个应用程序启动结束时的根视图控制器' ***第一次抛出调用堆栈: (0x1835e4f48 0x198197f80 0x1835e4e18 0x1844d8a1c 0x188e20414 0x188e1cf50 0x18d4037c4 0x18d403b44 0x18359c544 0x18359bfd8 0x183599cd8 0x1834c8ca0 0x188be61c8 0x188be0ffc 0x1000d6ca0 0x1989e68b8) libc ++ abi.dylib:以NSException类型的未捕获异常终止 (lldb)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

它告诉你究竟是什么问题:

Application windows are expected to have a root view controller at the end of application launch

如果您使用基于标准故事板的模板,则已经为您设置了一切,您可以直接进入Main.storyboard。但是,如果您更换了那个,则应确保将其标记为第一个故事板,并且还标记了初始视图控制器(我将为您制作一些屏幕截图以使其更清晰)。

首先设置目标的主界面,如下所示:

enter image description here

然后将故事板(在本例中为Main)设置为初始视图控制器:

enter image description here

如果你没有使用故事板,或者你想选择在启动时使用哪一个(也许你想在没有会话的情况下做一些不同的事情)你应该在AppDelegate中设置代码来做所以,例如答案here