架构x86_64的未定义符号:“_ OBJC_CLASS _ $ _ Person”,引自:

时间:2018-01-14 00:39:05

标签: objective-c linker-errors undefined-symbol

我已经让这个应用程序运行了几年,现在,只是添加了数据模型中的一些字段,然后生成NSManagedOjects(这甚至不是我改变的类之一。)现在,我可以摆脱这个错误。我已检查Person.m和Person + CoreDataProperties.m是否在目标中。我把这个类的结构与其他所有类一样。我无法弄清楚bug的位置。

我正在运行Xcode 9.2。目标平台是iOS 9(我的很多朋友仍在使用此版本)。我在使用MacOS 10.13.2。我花了整整三天时间尝试我能想到的一切。我删除了派生数据,启动和停止,Xcode,清理项目等等。

请帮助。

2 个答案:

答案 0 :(得分:1)

我找到了一个对我没用的解决方案:我在目标中包含了CoreDataClass .m文件,一切正常。我过去一直把它们排除在外,并将其排除在其他类别之外。

答案 1 :(得分:0)

最有可能的原因是,定义Person的类不包含在您正在构建的目标中。在Xcode的文件导航窗格(最左侧)中,选择Person.m。在“文件检查器”窗格(最右侧,选择看起来像带有折角的正方形的图标)上,查看"目标成员资格"部分。你的目标应该被检查。