无法使用故事板加载NIB

时间:2015-04-22 18:11:31

标签: xcode storyboard uitabbarcontroller uisplitviewcontroller ios8.3

使用最新版本的iOs 8.3,运行我的应用程序时出现此错误:

由于未捕获的异常终止应用' NSInternalInconsistencyException',原因:'无法在捆绑中加载NIB:' NSBundle

该应用程序有2个故事板,一个用于iPhone(正常工作),另一个用于iPad(崩溃)。

我已经尝试过这个主题的建议而没有结果:Xcode 6.3: Could not load NIB in bundle

在我的情况下,我使用的是StoryBoards,并且我没有使用过#34;使用大小等级"。 直到iOs 8.2,该应用程序运行良好。

这是iOs 8.3错误吗?有谁建立了解决方案? 谢谢!

编辑:如果我在iPhone上使用iPad故事板,在iPad上使用iPhone故事板,他们就可以了! 我也尝试重命名故事板,但没有任何改变。

编辑2:SplitViewController作为初始视图控制器导致崩溃!如果我将初始视图控制器移动到另一个视图控制器,该应用程序可以工作!

编辑3:一些消息:问题是由我的SplitViewController的MasterViewController引起的。我使用TabBarController作为MasterViewController,它与iOs 8.3崩溃。如果我将MasterViewController更改为另一个视图,则应用程序可以正常工作。

3 个答案:

答案 0 :(得分:2)

如果你以编程方式完成它,那么在xib名称中将〜更改为_并在以编程方式加载包时明确指定后缀。希望它可以帮到你。

答案 1 :(得分:2)

问题是由带有TabBarController作为MasterViewController的SplitViewController引起的。 这导致iOs 8.3崩溃。 我用按钮替换了TabBarController,现在应用程序正在运行。

我希望这些信息可以帮助某人。

答案 2 :(得分:0)

我在所需的init?方法中返回nil

required init?(coder decoder: NSCoder) {
    return nil
}

因为我认为只有方法init(frame:)被调用。将初始化代码移至viewDidMoveToWindow并删除两个init方法都可以解决问题。