我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
当前回答
当我将故事板从Swift项目移植到Objective-c项目时,我遇到了这个问题,注意到vvkuznetsov的答案,原来两个项目使用相同的标识符。我输入Product -> Clean,在模块和类文本框中点击Enter键。这个问题消失了。
其他回答
这可以在任何6.0以上的Xcode中发生。在Swift项目中重命名一些ViewController类后,我就遇到了这种情况(但我猜Obj-C也会发生这种情况)。你只需要打开接口构建器,转到重命名了类的ViewController的身份检查器,选择class并按Enter。这将重命名类重新分配给选定的ViewController,也重置模块值在重命名类后丢失。
Xcode 8.1的更新(也可能是8.0):
Xcode 8.1崩溃了。简单和恼人的只是崩溃,不打印任何东西。我追了一个小时的幻影崩溃,只是为了发现它是同一件事——IB中未分配的类。如果你得到了一些幻影崩溃,首先仔细检查IB中未分配的类。
不要在项目名称中使用空格,否则自定义类将无法找到您自己的类。
我的问题与podfile框架(特别是“BWWalkthrough”)有关。以上的解决方案都不适合我,无论我如何尝试,我都无法让模块指向我的应用程序。
最终对我有用的是将库作为podfile删除,并将其作为静态库直接添加到我的项目中。从那以后一切都很好。不完全确定类的pod实现有什么“坏”。
只对我有效的是将模块名称添加到xib文件中…
因此,xib文件看起来是这样的:
mymodule.MyViewController.xib (Module being the name of the proyect, usually)
在我看来,这是一个可怕的解决方案,但这应该是苹果现在想让我们做的。
这个问题显示了在beta 4中3个可能的工作…显然,苹果在这种情况下并没有提供太多帮助,因为他们称之为“按预期工作”。
Swift 3解决方案。
所有这些都不起作用。
点击右边面板上的模块没有工作。 添加@obj无效。 重新启动不起作用。 移动到桌面作为xcode中断较长的路径是行不通的。 ...
这终于奏效了。
只需创建一个新目录,并在其中创建一个新项目。添加除Main.sotryboard之外的其他文件。
现在复制前一个项目中的视图控制器,并将其粘贴到新的Main.storyboard中。
瞧!这个作品。