1

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

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

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

我尝试了这个主题的建议但没有结果:Xcode 6.3: Could not load NIB in bundle

就我而言,我使用的是 StoryBoards,并且在“使用尺寸等级”上没有标记。在 iOs 8.2 之前,该应用程序运行良好。

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

编辑:如果我在 iPhone 上使用 iPad 故事板,在 iPad 上使用 iPhone 故事板,它们就可以工作!我也尝试重命名情节提要,但没有任何改变。

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

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

4

3 回答 3

2

如果您以编程方式完成,则将 xib 名称中的 ~ 更改为 _ 并在以编程方式加载包时明确指定后缀。希望它可以帮助您。

于 2015-04-24T00:08:11.227 回答
2

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

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

于 2015-04-26T07:51:36.120 回答
0

我以所需的init?方法返回 nil

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

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

于 2019-11-23T16:51:48.777 回答