我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
当前回答
我有这个问题后,我添加了一个新目标,然后创建了一个新类使用“新文件”对话框,但意外地未能检查新目标以及在创建对话框中的原始目标,所以对象只添加到我的原始目标。解决方案是删除源文件(仅删除引用),然后使用“添加文件”将它们添加回来,这次检查两个目标。
其他回答
我在输入问题时解决了这个问题。我想我应该回答我的问题,并把它留给任何在使用Xcode 6 beta 4时可能遇到这个问题的人。
为了解决这个问题,您需要选择Storyboard中的每个自定义类对象(这包括任何自定义视图,甚至自定义视图控制器本身)。
然后选择这些对象,打开标识检查器,在“自定义类”下,你应该看到模块选项。最后:
单击Module文本框内的,并按enter。 或者(更新2022年),选中“从目标继承模块”选项。
就是这样!我的所有自定义对象的当前模块一定是在Xcode 6 beta 4中内部设置不正确。但在检查员那里并没有看到这一点。
注意,如果在“模块”文本框中按enter键不起作用,请尝试选择向右的箭头并手动选择当前模块,然后清除文本框并按enter键。您还可以尝试在类文本框内按enter(尽管这通常是为了解决不同的问题)。
下面是一张图片,让事情更清楚:
不要在项目名称中使用空格,否则自定义类将无法找到您自己的类。
我沿着劳拉建议的路线修复了这个问题,但我不需要重新创建文件。
使用XCode 4,在Project Navigator中,选择包含它要抱怨的类的.m文件
进入“查看->实用程序->显示文件检查器” (这将显示在右边的文件检查器,带有。m- File信息)
打开Target Membership部分,并确保为这个.m文件选择了目标
当我把我的.m文件添加到我的项目时,由于某种原因,它没有把它添加到我的默认目标中,这导致我得到你提到的错误。
我搜遍了所有地方。没有一个答案对我有用,直到我遇到一个人,他让我把我的项目文件夹移动到桌面。它是自动工作的。显然,如果你的项目文件夹在很多文件夹中,XCODE会崩溃。
在mij情况下,ViewController.h/m在库中。项目仍然构建,但自Xcode 6.3以来,上述错误在运行时显示。将两个文件移回项目中解决了这个问题。