【问题标题】:Thread 1 Signal SIGABRT terminating with uncaught exception of type NSException线程 1 信号 SIGABRT 以 NSException 类型的未捕获异常终止
【发布时间】:2015-11-10 11:56:51
【问题描述】:

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

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

它还说 Thread 1: signal SIGABRT 并在输出中说: * -[UIApplication _runWithMainScene:transitionContext:completion:] 中的断言失败,/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.29.5/UIApplication.m:3299 2015-11-10 22:54:13.484 TaskR Pro[7964:2256505] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“应用程序窗口应在应用程序结束时具有根视图控制器发射' *** 首先抛出调用堆栈: (0x1835E4F80 0x183520414 0x188020414 0x188237c4 0x18d4030414 0x18d4037c4 0x18d4037c4 0x18d403b44 0x18359c544 0x18359bfd8 0x18359bfd8 0x18359bfd8 0x18359bfd8 0x1834c8ca0 0x188be61c8 0x188be61c8 0x188be0ffc 0x1000d6ca0 0x1889e68b8) libc++abi.dylib:以 NSException 类型的未捕获异常终止 (lldb)

我该如何解决这个问题?

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    它准确地告诉你问题出在哪里:

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

    如果您使用基于标准故事板的模板,一切都已经为您设置好了,您可以直接进入 Main.storyboard。但是,如果你替换了那个,你应该确保它被标记为第一个故事板,并且还标记了一个初始视图控制器(我会为你制作一些截图让你更清楚)。

    首先像这样设置目标的主界面:

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

    如果您不使用故事板,或者您想选择在启动时使用哪一个(也许您想在没有会话时做一些不同的事情),您应该在 AppDelegate 中设置代码来执行此操作,例如回复here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 2016-03-25
      • 2018-12-04
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      相关资源
      最近更新 更多