iOS故事板出现奇怪的错误 - 'NSInternalInconsistencyException' (Main.storyboardc)

4
我正在处理我的Xcode项目。我刚刚清理了项目并尝试构建它,但是不知道发生了什么,我收到了非常奇怪的错误。
*** 因未捕获的异常 'NSInternalInconsistencyException' 而终止应用程序,原因是:无法加载包中的NIB: 'NSBundle (已加载)',名称为“UIViewController-bSa-xT-TPG”,目录为'Main.storyboardc'
我不知道该检查哪些代码!!我参考了一些相关问题,但无法解决我的问题。
编辑:- 当我尝试在搜索导航器中搜索 storyboardc 时,结果如下图所示。
(以下是图片链接) https://istack.dev59.com/WW1V6.webp 编辑:我也无法在构建阶段中看到storyboard。 我已经尝试手动添加它,但它仍然以红色符号出现,就像这样。
(以下是图片链接) https://istack.dev59.com/7YjD2.webp

你有使用过任何xib(不带Story board)文件吗? - Nimit Parekh
是的,我只使用LaunchScreen.xib - Badal Shah
1
"Main.storyboardc'?名字里多了一个 'c'?" - Sreejith
是的。不知道吗?我已经编辑了帖子,请检查。 - Badal Shah
编译器会添加 'c'。 - lostInTransit
显示剩余4条评论
4个回答

4

我的问题已经解决了。我不知道这是否是正确的方法。我将Main.storyboardBase.lproj移动到其他文件夹中,然后从该文件夹中删除Main.storyboard,再次将其拖放到mainbundle(即project window),并在localization设置中选中所有内容。然后进行清理和构建,成功运行项目。


只是删除并重新添加故事板在我的情况下有效。同时,我也重命名了它(我一直打算这么做),所以我不确定是否会影响任何内容。 - arsenius
只需删除并重新添加故事板,我使用cmd+shift+K清理了项目。然后再使用opt+cmd+shift+K清理构建文件夹。 最终这个方法奏效了。 - Grigo

1

尝试使用 Cmd+Alt+Shift+K(清除构建文件夹)并进行构建。 如果只是不一致性,那么这应该可以解决问题。

还有其他原因可能导致出现此错误

  1. 有可能在实例化之前访问了 UIControl。 这也可能导致此问题-通常会导致这种问题

  2. 实例化错误的视图控制器-与1有关(检查 App Delegate 中创建的层次结构和实例)

  3. 启动问题-您是否在启动时执行了任何可能延迟应用程序加载的操作?


我尝试了Cmd+Alt+Shift+K,但没有解决。我已经检查了层次结构,没有问题。在启动时,它从.xib加载闪屏,但它运行良好。闪屏出现,然后出现这个错误。我不认为这是内存问题。 - Badal Shah
你可能需要进行调试和检查。如果在视图创建之前(例如在initWithCoder:中)访问了任何视图中的UI控件,则会出现此错误。 - lostInTransit
我是iOS的新手,不知道如何使用调试器。你能给我一个链接或一些展示调试过程或信息的东西吗? - Badal Shah
只需在AppDelegate和您的ViewController的load方法或初始化器中设置断点。逐步执行它们,看看哪里出了问题(如果您需要有关断点的帮助,请参考http://jeffreysambells.com/2014/01/14/using-breakpoints-in-xcode)。 - lostInTransit

1
这可能是由于在一个storyboard中分配了两个不同的视图控制器相同的storyboard ID。因此,找到导致"Nib could not found"的控制器的名称的简单解决方案是在main.storyboard中搜索。在我的情况下,我意外地使用了两次“MarksViewController”作为Storyboard ID。

0

或许这个SO线程是相关的。我认为错误的重要部分是“UIViewController-bSa-xT-TPG”,而不是storyboardc文件。

确保在您的Storyboard/XIB中有一个“UIViewController-bSa-xT-TPG”。您可以右键单击Storyboard并选择“以源代码形式打开”(要切换回来,只需再次右键单击并选择“作为'Interface builder - storyboard'打开”)。

搜索“UIViewController-bSa-xT-TPG”,如果它不存在,则存在问题。如果您在项目中搜索“UIViewController-bSa-xT-TPG”,会得到什么结果?


Georgii-Hemmi:我尝试了这个选项,但没有成功。 - Badal Shah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接