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

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

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

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

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


当前回答

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

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

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

其他回答

在我的例子中,在Storyboard / xib中引用的类没有Target Membership设置。

为了解决这个问题,将该类的.h和.m文件赋予与其他类相同的目标成员资格。

当我将故事板从Swift项目移植到Objective-c项目时,我遇到了这个问题,注意到vvkuznetsov的答案,原来两个项目使用相同的标识符。我输入Product -> Clean,在模块和类文本框中点击Enter键。这个问题消失了。

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

对我来说,这个问题我已经试过了所有的解决方法,但都没有成功。

将pod .h .m文件复制到我的项目中,并将.h导入到项目c头文件中。

然后我回到故事板类是UICountingLabel我删除它,并按enter (空没有类),然后我再次添加它,并按enter,工作成功。

我和春季班一起玩。这个错误发生在我身上,因为我在移动整个文件夹类到项目时使用文件夹作为参考,而不是创建组。所以这是我的解决方案,不使用文件夹作为参考,但创建组。