我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
当前回答
我的回答:设置自定义模块等于自定义Pod名称(在我的例子中-自定义类名),如截图所附
这个解决方案是针对特定情况的:来自Pod(或Carthage)框架的自定义视图类。
基础设施:XCode8, Swift3
其他回答
有时您提供的控制器会从当前应用程序中丢失其目标成员。在这种情况下,在“Module”字段上按enter键将不起任何作用。转到控制器,确保它已将目标成员设置为当前应用程序。
我也遇到了同样的问题,但解决方法不同。
项目文件夹有点损坏,所以我不得不复制我的项目文件夹到另一个文件夹,例如你的桌面,然后打开项目。
当它打开转到你的接口构建器项目,你会看到他识别你的脚本,然后你点击你的脚本名称并按enter,你会看到模块输入将填充它自己。
它会像魔法一样起作用!: D
我通过做与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中浪费了多少时间
我在输入问题时解决了这个问题。我想我应该回答我的问题,并把它留给任何在使用Xcode 6 beta 4时可能遇到这个问题的人。
为了解决这个问题,您需要选择Storyboard中的每个自定义类对象(这包括任何自定义视图,甚至自定义视图控制器本身)。
然后选择这些对象,打开标识检查器,在“自定义类”下,你应该看到模块选项。最后:
单击Module文本框内的,并按enter。 或者(更新2022年),选中“从目标继承模块”选项。
就是这样!我的所有自定义对象的当前模块一定是在Xcode 6 beta 4中内部设置不正确。但在检查员那里并没有看到这一点。
注意,如果在“模块”文本框中按enter键不起作用,请尝试选择向右的箭头并手动选择当前模块,然后清除文本框并按enter键。您还可以尝试在类文本框内按enter(尽管这通常是为了解决不同的问题)。
下面是一张图片,让事情更清楚:
当我将故事板从Swift项目移植到Objective-c项目时,我遇到了这个问题,注意到vvkuznetsov的答案,原来两个项目使用相同的标识符。我输入Product -> Clean,在模块和类文本框中点击Enter键。这个问题消失了。