我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
当前回答
我有这个问题后,我添加了一个新目标,然后创建了一个新类使用“新文件”对话框,但意外地未能检查新目标以及在创建对话框中的原始目标,所以对象只添加到我的原始目标。解决方案是删除源文件(仅删除引用),然后使用“添加文件”将它们添加回来,这次检查两个目标。
其他回答
只对我有效的是将模块名称添加到xib文件中…
因此,xib文件看起来是这样的:
mymodule.MyViewController.xib (Module being the name of the proyect, usually)
在我看来,这是一个可怕的解决方案,但这应该是苹果现在想让我们做的。
这个问题显示了在beta 4中3个可能的工作…显然,苹果在这种情况下并没有提供太多帮助,因为他们称之为“按预期工作”。
我在Xcode 8中遇到了这个问题,为了解决这个问题,我不得不在文本编辑器中修改故事板。
通常,查找控件并从控件实体中删除customModule和customModuleProvider。
为我做了一个魔术。
我在重命名一个swift类后遇到了这个问题。使用@objc指令解决了这个问题:
@objc(ForumTopicListViewController) class ForumTopicListViewController
对我来说,这个问题我已经试过了所有的解决方法,但都没有成功。
将pod .h .m文件复制到我的项目中,并将.h导入到项目c头文件中。
然后我回到故事板类是UICountingLabel我删除它,并按enter (空没有类),然后我再次添加它,并按enter,工作成功。
我通过做与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中浪费了多少时间