Xcode duplicate symbols for architecture x86_64

2 duplicate symbols for architecture x86_64

導入CoreData class后出現編譯報錯
**NewsCache+CoreDataClass導入后編譯出錯

duplicate symbol OBJC_CLASS$_EC_Audio in:
/Users/ryan/Library/Developer/Xcode/DerivedData/AudioRecorder-fynbzrptektfqnalzdkspcoejrvg/Build/Intermediates/AudioRecorder.build/Debug-iphonesimulator/AudioRecorder.build/Objects-normal/x86_64/ NewsCache+CoreDataClass.o
duplicate symbol OBJC_METACLASS$_EC_Audio in:
/Users/ryan/Library/Developer/Xcode/DerivedData/AudioRecorder-fynbzrptektfqnalzdkspcoejrvg/Build/Intermediates/AudioRecorder.build/Debug-iphonesimulator/AudioRecorder.build/Objects-normal/x86_64/ NewsCache+CoreDataClass.o
ld: 2 duplicate symbols for architecture x86_64

解決辦法:

一、刪除掉自己創建的NSManagedObject SubClass類,因為在托管對象中創建Entity屬性后會自動生成對應的類,如果自己再手動創建就會導致重復。Build工程之后,引用的時候直接#import "EntityName+CoreDataClass.h"就可以了。
二、如果想保留自己創建的類,Build Settings ->Complie Source中移除對應的.m文件。或者參照方法三:
三、.xcdatamodeld 中選擇Entity-class-codegen-manual/none即可,如下圖:


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容