2015-02-17 14 views
14

"çerçeve modülü içinde olmayan modüler başlığının dahil et":XCode6: hatayı alma Ben bir uygulama, benim özel çerçeveler bir demet oluşan bir iOS uygulaması var ve üçüncü parti framweorks bir demet

App 
    MyFramework1 
    MyFramework2 
     AFNetworking.framework 
     Mantle.framework 
     .. 

hata aşağıdaki yapıya sahip "çerçeve modülü içinde olmayan modüler başlığının dahil et" olsun:

App/AppDelegate.m 
#import <MyFramework2/MyFramework2.h> 

MyFramework2/MyFramework2.h 
#import "MyClass.h" 

MyClass.h 
#import <Mantle/Mantle.h>  <-- Error happens here 

MyFramework2 kendisi tarafından kurar. Uygulama hatasıyla başarısız inşa etmek çalışılıyor

Mantle.h ithal satırında "çerçeve modülü içinde olmayan modüler başlığının dahil et".

Mantle.h dosyasını .m dosyasına içe aktarırsam bu sorun giderilir, ancak bunu yapamam, çünkü sınıfım Mantle'de tanımlanan MTLModel öğesinden devralınır.

Bu sorun, here adresinde ele alınmıştır, ancak Swift'e özgü değil.

Öneriler (1) tüm özel çerçeve başlıklarının herkese açık olduğundan emin olun. Onlar. Ve (2) "Hedef" altındaki Yapılandırma Ayarlarına gidin ve "Çerçeve Modüllerde Modüler Olmayan İçeriğe İzin Ver" seçeneğini YES olarak ayarlayın.

Bunun neden olduğunu ve nasıl düzeltileceğini bilen var mı? İyi bir uygulama olarak kabul edilen EVET'e "Modüler Olmayan İçeriği Modüllere İzin Ver" ayarını mı yapıyor? Bu neden bir hata?

Teşekkürler.

cevap

14

Proje gezgininde .h dosyasını seçin. Sağdaki hedef üyelik alanında hedefin yanında bir açılır menü bulunur. Orada "herkese açık" yı seçin (muhtemelen şu anda "proje" seçilidir).

enter image description here

+0

Not bu Cevabınız çözer, "Non-Modüler Çerçeve Modülleri yılında dahildir izin ver" Eğer ayarı clang açık olsa bile bir sorundur. Teşekkürler. –

+2

@Nikos M. ekran görüntüsü ekleyebilir misiniz lütfen. Bu düşüşü göremiyorum. Lütfen yardım et. Çok teşekkürler – Bonnke

+0

Hedef üyelik için açılan menü nerede? – lenhhoxung

İlgili konular