我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃的消息
接口构建器文件中的未知类X。
它崩溃是因为Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接。
我确定一切都连接正确。我唯一的其他选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏。
编辑:我还想补充说,我尝试了清洁,重置模拟器,搞乱构建阶段等。这些都没用。
当前回答
对我来说,我使用的是Xcode7 + Swift2
通过检查我的代码解决了这个问题,我在我的viewController中有这一行:
self?.navigationController?.pushViewController(vc, animated: true)
然后我意识到我还没有将navigationController连接到细节页。如果你推送一个带有自定义ID的新ViewController,最好检查一下。
其他回答
当其他方法都行不通时,这个方法对我很有效。从终端的工程目录:
[~/Developer/MyProject] grep -rn ViewController * | grep -i xib
在Xcode中打开匹配的文件作为源代码,并根据实际需要更改ViewController的任何实例。在我的例子中,我需要作为源代码打开的文件是Main。storyboard和我把ViewController的实例改为DetailViewController。
我从Xcode和main中删除了两个文件。故事板,我认为这是导致我这个问题开始。
在我的情况下,我在项目设置中添加了一个标志-ObjC到其他链接器标志,以使其工作。我也尝试了-all_load标志,它工作得很好。
当XCode 10停止“细化调试”时,这真的很奇怪。 在我的情况下,我设置了UITableViewDelegate和UITableViewDataSource与Storyboard和忘记实现那些必要的方法。我只是想先测试视图,在实现那些方法之前,然后崩溃!XCode 9,将警告这些方法,但XCode 10,真的使我的代码慢,不是在这一个,其他人我已经通过这个“错误怀疑”。希望这能帮助到一些人。谢谢
这可以在任何6.0以上的Xcode中发生。在Swift项目中重命名一些ViewController类后,我就遇到了这种情况(但我猜Obj-C也会发生这种情况)。你只需要打开接口构建器,转到重命名了类的ViewController的身份检查器,选择class并按Enter。这将重命名类重新分配给选定的ViewController,也重置模块值在重命名类后丢失。
Xcode 8.1的更新(也可能是8.0):
Xcode 8.1崩溃了。简单和恼人的只是崩溃,不打印任何东西。我追了一个小时的幻影崩溃,只是为了发现它是同一件事——IB中未分配的类。如果你得到了一些幻影崩溃,首先仔细检查IB中未分配的类。
这发生在我身上,因为我的类被标记为@objc,在sotryboard中找不到模块。删除@objc修复了这个问题