我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息

接口构建器文件中的未知类X。

它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。

我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。

编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。


当前回答

在我的案例中,问题是由于将我们的主故事板设置为启动屏幕,并且在应用程序启动时,对于故事板中引用的每个自定义视图控制器,我都会得到一个控制台错误(没有崩溃)。

我们已经讨论了从xib和启动图像到故事板,我还没有抽出时间让启动屏幕重新工作。当我终于开始创建一个没有自定义视图控制器(这是不允许的)的骨架启动故事板时,这些控制台错误就不再出现了。

其他回答

解决方案对我来说是不同的。您需要将类的.m添加到目标的构建阶段编译源中。

希望这能有所帮助!

我也有同样的问题。

在我的例子中,Xcode没有将我的自定义类添加到:Target > Build Phase > Compile Sources。

所以我建议你验证一下你的CustomClass。M在这里。

我希望这对你有所帮助。

这可以在任何6.0以上的Xcode中发生。在Swift项目中重命名一些ViewController类后,我就遇到了这种情况(但我猜Obj-C也会发生这种情况)。你只需要打开接口构建器,转到重命名了类的ViewController的身份检查器,选择class并按Enter。这将重命名类重新分配给选定的ViewController,也重置模块值在重命名类后丢失。

Xcode 8.1的更新(也可能是8.0):

Xcode 8.1崩溃了。简单和恼人的只是崩溃,不打印任何东西。我追了一个小时的幻影崩溃,只是为了发现它是同一件事——IB中未分配的类。如果你得到了一些幻影崩溃,首先仔细检查IB中未分配的类。

我在Xcode 6上删除已经包含的ViewController.h和ViewController时遇到了这样的问题。m文件从我的新基于视图的项目,并删除场景,这是与这个类从storyboard, Xcode兑现这些文件在派生数据文件夹,所以如果你尝试去窗口->项目-> your_project,并删除派生数据一切都会好起来。

我在重命名一个swift类后遇到了这个问题。使用@objc指令解决了这个问题:

@objc(ForumTopicListViewController) class ForumTopicListViewController