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

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

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

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

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


当前回答

这发生在我身上,因为我的类被标记为@objc,在sotryboard中找不到模块。删除@objc修复了这个问题

其他回答

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

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

我的问题与podfile框架(特别是“BWWalkthrough”)有关。以上的解决方案都不适合我,无论我如何尝试,我都无法让模块指向我的应用程序。

最终对我有用的是将库作为podfile删除,并将其作为静态库直接添加到我的项目中。从那以后一切都很好。不完全确定类的pod实现有什么“坏”。

我通过在所有视图控制器和视图的标识检查器的自定义类中输入模块名称(不幸的是下拉列表将什么都不显示…)解决了这个问题。

您可能还需要指明目标提供程序。为了达到这个目标,你可以在源代码模式中打开故事板,并在ViewController和View尖括号中添加“customModuleProvider”属性。

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

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

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

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