即使接口生成器是一个MyClass,我得到一个错误时启动应用程序。

当MyClass是库的一部分时,就会发生这种情况,如果直接在应用程序目标中编译该类则不会发生这种情况。


当前回答

我只是想添加这个答案,因为这里的大多数答案(如果不是所有答案)都假设该类实际存在。只是链接器/编译器太笨了,看不到它。因此,答案围绕要么提醒链接器类的存在或创建一个黑客'强迫'存在它。

我的问题发生时,这条消息实际上是谈论一个不存在的类..因此,一个例子将是我回到一个旧的git修订版,没有特定的类的知识。然而编译器会报错该类不存在。

解决方案吗?

用核武器摧毁整个世界!首先删除所有构建文件,删除该目录下的所有内容 ~ /图书馆/开发/ Xcode / DerivedData 从手机中删除应用程序(如果使用模拟器,则清除模拟器内容)

之后你就可以去了

其他回答

我试过这个,还有这个网站上列出的其他答案,没有一个能帮我理清头绪。以下评论(来自http://www.iphonedevsdk.com/forum/iphone-sdk-development/43330-unknown-class-interface-builder-file.html)有助于:

在搜索、搜索、搜索之后,我终于发现了这个被删除的类的名称隐藏在一个文件中。我必须在X-code中打开界面构建器文件,右键单击它们并选择“查看源代码”。然后我找到了 <object class="NSMutableArray" key="dict.values"> < bool关键= " EncodedWithXMLCoder " >对< / bool > <字符串> com.apple.InterfaceBuilder。IBCocoaTouchP lu gin</string> 这是类名*</string>

不幸的是,简单地删除最后一行并不能解决这个问题,它会抱怨文件中有错误的项数。您需要在它上面的行部分中删除对应的行,它引用CustomClass。

删除错误的最好方法是: 1)选择类文件(.m) 2)在“目标会员”下,“勾选”项目名称条目

转到构建阶段->编译源代码并添加新的。m文件。

如果你有多个StoryBoard并且其中一个StoryBoard使用的是不存在的,那么这个“Interface Builder file中的Unknown class”错误就会在运行时出现。

从接口生成器/故事板被引用到一个不可用的类。

如果是已知类,则没有链接。

如果不是一个类,或者只是一些字符,则可能是打字错误。 在这种情况下,检查视图控制器中这个'unknown class'的所有字段。 在“身份检查器”中(块“自定义类”左起第三个)是一个字段 '类',其中可能包含错误的值。通常它会列出字段类型 (UIView / UILabel等)。