错误:在更改Core Data模型后,架构armv7出现重复符号

5

我有一个使用核心数据框架的应用程序。它之前一切正常。我只是更改了数据模型 - 在一个实体中添加了一个属性。 当我尝试构建它时,我遇到了一个错误:

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框架还在使用中。 有人知道其他可能的原因吗? 谢谢。

尝试清除您的派生数据,这通常可以帮助解决问题。 - Bergasms
检查是否在进行此更改后生成了多个NSManagedObject子类文件。如果我没记错的话,你的属性更改后应该会生成重复的文件。请在Finder窗口和项目中进行检查。 - iDev
@Bergasms,你是指“Product/clean”吗?我已经这样做了。但是还是没变。 - user1491987
@user1491987,要删除派生数据,请前往~/Library/Developer/Xcode/DerivedData/并删除其中的所有文件。 - iDev
1
@ACB 这就是原因!我把NSManagedObject文件放在了文件夹里,所以我没有注意到。请“回答”我的问题,我会接受它的。非常感谢! - user1491987
1个回答

10

检查是否在进行此更改后生成了多个 NSManagedObject 子类文件。属性更改后应该会生成重复的文件。请在项目和 Finder 窗口中检查并删除重复的文件。这样应该就可以解决此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接