即使接口生成器是一个MyClass,我得到一个错误时启动应用程序。
当MyClass是库的一部分时,就会发生这种情况,如果直接在应用程序目标中编译该类则不会发生这种情况。
即使接口生成器是一个MyClass,我得到一个错误时启动应用程序。
当MyClass是库的一部分时,就会发生这种情况,如果直接在应用程序目标中编译该类则不会发生这种情况。
当前回答
在我的情况下,类不能被找到,因为它是一个类定义在一个框架内的扩展,如下所示:
extension Buttons {
public class MyButton: UIButton {
// ...
}
}
当我从扩展中提取类时,Storyboard最终可以找到类(MyFrameworkButton):
extension Buttons {
public typealias MyButton = MyFrameworkButton
}
public class MyFrameworkButton: UIButton {
// ...
}
其他回答
我通过从我的class.h和.m复制文本来修复这个问题,从项目中删除这些类文件,并使用“添加文件”创建新的class.h和.m文件。然后我将代码粘贴回新文件中,一切都运行良好。由于某种原因,文件在创建时没有正确链接。在那之后,我不需要使用任何链接标志。
我的案例-试图在我的objective - c项目中使用一个swift框架中的类,我得到了这个错误。解决方案是在Interface builder/ Storyboard中添加类的Module (swift框架),如下所示。没有其他的
每个苹果文档
对于64位和iPhone操作系统应用程序,有一个链接器错误 阻止-ObjC从静态库中加载对象文件 只包含类别,不包含类。解决方法是使用 -all_load或-force_load标志。
简而言之,在你的“构建设置”中添加-all_load到“其他链接器”标志,你应该没问题。
http://developer.apple.com/library/mac/qa/qa1490/_index.html
这个问题似乎并没有过时。
我在Xcode 8中也遇到了同样的问题,并解决了类似smilebot的问题:
在Xcode中以“源代码”的形式打开故事板文件: 搜索被引用的类&删除整段
customClass = UnrecognizedClassName”
再次以“interfacebuilder - storyboard”的形式打开你的故事板文件,重新构建你的应用程序。
如果你有多个StoryBoard并且其中一个StoryBoard使用的是不存在的,那么这个“Interface Builder file中的Unknown class”错误就会在运行时出现。