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文件?;蛘邊⒄辗椒ㄈ?br>
三、.xcdatamodeld 中選擇Entity-class-codegen-manual/none即可,如下圖: