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

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

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

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

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


当前回答

@gfrs说的是正确的,你需要设置模块。然而,我曾经遇到过一个问题,我的类没有在类下拉列表中列出。最终我删除了swift文件,重新启动Xcode并重新创建了该文件。最后,这个类被列出并可以在Storyboard中使用。

看看这个答案,它似乎解决了我遇到的“真正的”问题。

其他回答

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

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

只对我有效的是将模块名称添加到xib文件中…

因此,xib文件看起来是这样的:

mymodule.MyViewController.xib (Module being the name of the proyect, usually)

在我看来,这是一个可怕的解决方案,但这应该是苹果现在想让我们做的。

这个问题显示了在beta 4中3个可能的工作…显然,苹果在这种情况下并没有提供太多帮助,因为他们称之为“按预期工作”。

这些步骤对我很有用。

1)清除衍生数据。 2)删除.h和.m文件 3)再次创建。h和。m文件

我解决了这个问题,打开我的故事板文件作为源代码,并使用命令f搜索我的未知类,并删除与之相关的自定义类。

对我来说,我使用的是Xcode7 + Swift2

通过检查我的代码解决了这个问题,我在我的viewController中有这一行:

 self?.navigationController?.pushViewController(vc, animated: true)

然后我意识到我还没有将navigationController连接到细节页。如果你推送一个带有自定义ID的新ViewController,最好检查一下。