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

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

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

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

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


当前回答

我通过做与ChikabuZ建议完全相反的事情来解决它(尽管感谢你指出了这一点)。在故事板文件中,找到这个:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass" customModule="AppName" customModuleProvider="target" sceneMemberID="viewController">

然后用这个替换:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass" sceneMemberID="viewController">

我不敢相信我在Swift编译器和Xcode 6中浪费了多少时间

其他回答

我的问题是用户错误。我在我的故事板中有一个通用的UIView,在身份检查器的自定义类部分,我不小心把UIView的名字改成了胡话。

只需要把它改回UIView。

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

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

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

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

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

我是PyObjC用户我的NSView子类在它自己的文件中。为我解决这个问题的是移动NSView子类从它自己的文件到我的AppController.py文件。这是包含应用程序控制器的文件。

Swift 3解决方案。

所有这些都不起作用。

点击右边面板上的模块没有工作。 添加@obj无效。 重新启动不起作用。 移动到桌面作为xcode中断较长的路径是行不通的。 ...

这终于奏效了。

只需创建一个新目录,并在其中创建一个新项目。添加除Main.sotryboard之外的其他文件。

现在复制前一个项目中的视图控制器,并将其粘贴到新的Main.storyboard中。

瞧!这个作品。

在我的情况下,我在项目设置中添加了一个标志-ObjC到其他链接器标志,以使其工作。我也尝试了-all_load标志,它工作得很好。