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

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

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

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

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


当前回答

我搜遍了所有地方。没有一个答案对我有用,直到我遇到一个人,他让我把我的项目文件夹移动到桌面。它是自动工作的。显然,如果你的项目文件夹在很多文件夹中,XCODE会崩溃。

其他回答

有时您提供的控制器会从当前应用程序中丢失其目标成员。在这种情况下,在“Module”字段上按enter键将不起任何作用。转到控制器,确保它已将目标成员设置为当前应用程序。

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

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

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

在mij情况下,ViewController.h/m在库中。项目仍然构建,但自Xcode 6.3以来,上述错误在运行时显示。将两个文件移回项目中解决了这个问题。

在我的例子中,我将app设置为universal app,所以xcode创建了两个故事板。但我只使用(设计)iPhone故事板。并尝试在iPad上运行应用程序。为了解决问题,只需要为iPhone制作应用程序,并且工作出色。

当其他方法都行不通时,这个方法对我很有效。从终端的工程目录:

[~/Developer/MyProject] grep -rn ViewController * | grep -i xib 

在Xcode中打开匹配的文件作为源代码,并根据实际需要更改ViewController的任何实例。在我的例子中,我需要作为源代码打开的文件是Main。storyboard和我把ViewController的实例改为DetailViewController。

我从Xcode和main中删除了两个文件。故事板,我认为这是导致我这个问题开始。