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

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


当前回答

这里有很多答案,但没有一个是解决方案, 我追踪到storyBoard,控制器有一个无效的自定义类(类不存在后,我重命名它)

其他回答

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

转到“ProjectName”,点击它,然后进入“Build phases”选项卡,然后点击“compile sources”,然后点击“+”按钮,一个窗口将出现,选择“MyClass”。然后点击“添加”,

建立项目并运行它,问题一定会得到解决

这与Interface Builder没有任何关系,这里发生的是符号没有被Xcode从静态库中加载。要解决这个问题,你需要将-all_load -ObjC标记添加到项目(可能是目标)构建设置的其他链接器标记键。

由于Objective-C每个类只生成一个符号,我们必须通过使用-ObjC标志强制链接器加载类的成员,我们还必须通过添加-all_load链接器标志强制包含静态库中的所有对象。如果你跳过这些标志,你迟早会遇到无法识别的选择器错误,或者得到其他异常,就像你在这里观察到的一样。

当我添加一个选择器视图,然后删除它时,这个问题发生在我身上。如果它能帮助到别人,下面是我最终解决它的方法:

在XCODE打开文档大纲(不知道什么是文档大纲?我也没有-谷歌..:))。 在文档大纲窗口中找到使警告消息出现的场景。 在有问题的场景中,站在View上(点击),然后在Utility(谷歌it)窗口中选择Identity inspector选项卡,将自定义类名更改回默认的UIView。

不。:)

这个问题似乎并没有过时。

我在Xcode 8中也遇到了同样的问题,并解决了类似smilebot的问题:

在Xcode中以“源代码”的形式打开故事板文件: 搜索被引用的类&删除整段

customClass = UnrecognizedClassName”

再次以“interfacebuilder - storyboard”的形式打开你的故事板文件,重新构建你的应用程序。