在iOs 8.3的最后一个版本中,当我运行一个应用程序时,我会遇到这个错误:
由于未捕获的异常"NSInternalConsistencyException"而终止应用程序,原因:"无法在捆绑包中加载NIB:"NSBundle
该应用程序有两个情节板,一个用于iPhone(正常工作),另一个用于iPad(崩溃)。
我尝试了这个主题的建议,但没有结果:Xcode 6.3:无法在捆绑中加载NIB
在我的情况下,我使用的是情节板,并且我没有"使用大小类"的标志。在iOS8.2之前,该应用程序运行良好。
这是iOS8.3的bug吗?有人找到解决方案了吗?非常感谢。
编辑:如果我在iPhone上使用iPad故事板,在iPad上使用iPhone故事板,它们就可以工作了!我也试着重新命名故事板,但没有任何改变。
编辑2:SplitViewController作为初始视图控制器导致崩溃!如果我将初始视图控制器移动到另一个视图控制器,应用程序就会工作!
编辑3:一些新闻:问题是由我的SplitViewController的MasterViewController引起的。我正在使用一个TabBarController作为MasterViewController,它在iOS8.3中崩溃了。如果我将MasterViewController更改为另一个视图,应用程序就会工作。
如果您是以编程方式完成的,那么在xib名称中将~更改为_,并在以编程方式加载捆绑包时显式指定后缀。希望它能帮助你。
问题是由一个将TabBarController作为MasterViewController的SplitViewController引起的。这导致iOs 8.3崩溃。我用按钮替换了TabBarController,现在应用程序可以工作了。
我希望这些信息能帮助到一些人。
我在所需的init?
方法中返回nil
required init?(coder decoder: NSCoder) {
return nil
}
因为我认为只会调用方法init(frame:)
。将初始化代码移到viewDidMoveToWindow
并删除这两个init方法就解决了这个问题。