2013-01-21 18 views
5

Çekirdek veri çerçevesini kullanarak bir uygulamam var. İyi çalışıyordum. Veri modelini yeni değiştirdim - bir varlığa bir özellik ekledim. Ve bunu inşa etmeye çalışırken, bir hata aldım:Hata: değiştirmeden sonra mimari armv7 için semboller çoğaltın Çekirdek Veri Modeli

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) 

Bazı arama yaptı ve bu hatayı almaya çoğu insan .m veya ithal aynı .h birkaç kez için .h yanlış yazıyor arasındadır. Kodumu kontrol ettim. Bende yok. Ve çekirdek veri çerçevesi hala var.

Bunun nedeni başka ne olabileceğini bilen var mı? Teşekkürler.

+0

Türetilmiş verilerinizi temizlemeye çalışın, bu genellikle yardımcı olabilir. – Bergasms

+0

Bu değişikliği yaptıktan sonra oluşturulan çok sayıda "NSManagedObject" alt sınıf dosyası olup olmadığını kontrol edin. Eğer haklıysam, öznitelik değiştikten sonra üretilen çift dosyalar olmalı. Proje yanında bulucu penceresinde de kontrol edin. – iDev

+0

@Bergasms Bunu mu demek istediniz: Product/clean? Ben bunu yaptım. Hala aynı. – user1491987

cevap

9

Bu değişikliği yaptıktan sonra oluşturulan birden çok NSManagedObject alt sınıf dosyası olup olmadığını kontrol edin. Öznitelik değişikliğinizden sonra oluşturulan çift dosyalar olmalıdır. Proje penceresinde olduğu gibi bulucu penceresini de kontrol edin ve ardından çift dosyaları kaldırın. Bu sorunu düzeltmeli.

İlgili konular