我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
当前回答
我通过在所有视图控制器和视图的标识检查器的自定义类中输入模块名称(不幸的是下拉列表将什么都不显示…)解决了这个问题。
您可能还需要指明目标提供程序。为了达到这个目标,你可以在源代码模式中打开故事板,并在ViewController和View尖括号中添加“customModuleProvider”属性。
其他回答
这可以在任何6.0以上的Xcode中发生。在Swift项目中重命名一些ViewController类后,我就遇到了这种情况(但我猜Obj-C也会发生这种情况)。你只需要打开接口构建器,转到重命名了类的ViewController的身份检查器,选择class并按Enter。这将重命名类重新分配给选定的ViewController,也重置模块值在重命名类后丢失。
Xcode 8.1的更新(也可能是8.0):
Xcode 8.1崩溃了。简单和恼人的只是崩溃,不打印任何东西。我追了一个小时的幻影崩溃,只是为了发现它是同一件事——IB中未分配的类。如果你得到了一些幻影崩溃,首先仔细检查IB中未分配的类。
多目标项目
在我的情况下,我正在与多个目标的项目工作,问题是“从目标继承”是未经检查的。选择“从目标继承”解决了我的问题
对我来说,它发生了,因为我的项目被称为“ä,ü,ö”
@gfrs说的是正确的,你需要设置模块。然而,我曾经遇到过一个问题,我的类没有在类下拉列表中列出。最终我删除了swift文件,重新启动Xcode并重新创建了该文件。最后,这个类被列出并可以在Storyboard中使用。
看看这个答案,它似乎解决了我遇到的“真正的”问题。
我解决了这个问题,打开我的故事板文件作为源代码,并使用命令f搜索我的未知类,并删除与之相关的自定义类。