即使接口生成器是一个MyClass,我得到一个错误时启动应用程序。
当MyClass是库的一部分时,就会发生这种情况,如果直接在应用程序目标中编译该类则不会发生这种情况。
即使接口生成器是一个MyClass,我得到一个错误时启动应用程序。
当MyClass是库的一部分时,就会发生这种情况,如果直接在应用程序目标中编译该类则不会发生这种情况。
当前回答
这与Interface Builder没有任何关系,这里发生的是符号没有被Xcode从静态库中加载。要解决这个问题,你需要将-all_load -ObjC标记添加到项目(可能是目标)构建设置的其他链接器标记键。
由于Objective-C每个类只生成一个符号,我们必须通过使用-ObjC标志强制链接器加载类的成员,我们还必须通过添加-all_load链接器标志强制包含静态库中的所有对象。如果你跳过这些标志,你迟早会遇到无法识别的选择器错误,或者得到其他异常,就像你在这里观察到的一样。
其他回答
这个问题似乎并没有过时。
我在Xcode 8中也遇到了同样的问题,并解决了类似smilebot的问题:
在Xcode中以“源代码”的形式打开故事板文件: 搜索被引用的类&删除整段
customClass = UnrecognizedClassName”
再次以“interfacebuilder - storyboard”的形式打开你的故事板文件,重新构建你的应用程序。
只需删除MyClass。M和。h,并将它们再次添加到项目是我的工作。
我在目标中添加了Build Phase文件,问题得到了解决。关于添加文件的步骤,请参阅我的回答:
Apple Mach-O连接器错误(APActivityIcon)
我今天使用Swift确实遇到了这个问题。
我修改了一个类Model.h + Model。m to a Model.swift。 该对象在Interface Builder中使用class = Model。
一旦我替换了对象,类就不能再加载了。
我所要做的就是把IB的课程参考改为:
Class = Model
Module =
to
Class = Model
Module = <TARGETNAME>
您将在构建设置中找到<TARGETNAME>。它也是在你生成的Swift-Header中出现的名称:
我在《Swift》中遇到过这种情况。
将.xib文件移动到项目的Base中。Lproj文件夹摆脱了这个错误。