错误:更改核心数据模型后架构 armv7 的重复符号

Posted

技术标签:

【中文标题】错误:更改核心数据模型后架构 armv7 的重复符号【英文标题】:Error: duplicate symbols for architecture armv7 after change Core Data Model 【发布时间】:2013-01-21 23:14:51 【问题描述】:

我有一个使用核心数据框架的应用。我工作得很好。我刚刚更改了数据模型 - 将属性添加到一个实体。 当我尝试构建它时,我得到了一个错误:

duplicate symbol _OBJC_METACLASS_$_AccountFolder in:
/Users/XXX/Library/Developer/Xcode/DerivedData/MyApp-bxsswgxdenxgjweotkkkckaoalat/Build/Intermediates/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/armv7/AccountFolder-33D7EA63E98D6090.o

ld: 4 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我进行了一些搜索,大多数人收到此错误是因为将 .h 输入错误为 .m,或者多次导入相同的 .h。我检查了我的代码。我没有那个。 coredata 框架还在。

有谁知道还有什么原因? 谢谢。

【问题讨论】:

尝试清除您的派生数据,这通常会有所帮助。 检查是否有多个NSManagedObject子类文件在进行此更改后生成。如果我是正确的,您的属性更改后应该会生成重复的文件。签入查找器窗口以及项目。 @Bergasms 你的意思是产品/清洁吗?我这样做了。还是一样。 @user1491987,要删除派生数据,请转到 ~/Library/Developer/Xcode/DerivedData/ 并删除其中的所有文件。 @ACB 这就是原因!我将 NSManagedObject 文件放在文件夹中,所以我没有注意到。请“回答”我的问题,我会接受。非常感谢! 【参考方案1】:

检查进行此更改后是否生成了多个NSManagedObject 子类文件。属性更改后应该会生成重复文件。签入查找器窗口以及项目,然后删除重复的文件。这应该可以解决这个问题。

【讨论】:

以上是关于错误:更改核心数据模型后架构 armv7 的重复符号的主要内容,如果未能解决你的问题,请参考以下文章

对核心数据模型进行微小更改后的链接器错误

ParseFacebookUtilsV4 架构 armv7 的重复符号

iOS - 架构 armv7 的 2 个重复符号

更改模型后的核心数据迁移

错误 ITMS-90092:“此捆绑包无效...” [重复]

我可以构建 Armv7 + Arm64 架构,但不能单独构建 Armv7