2015-05-21 12 views
7

KakaoPod'ları kullanan ve 'SCLAlertView-Objective-C' bölmesini kullanan bir projem var. Bu bölme, @import UIKit; modül stili içe aktarma kullanır. Hem hedef hem de proje ayarlarımda "Enable Modules (C & Objective-C)" ve "Otomatik Olarak Çerçeveleri Bağla" ayarını EVET olarak ayarlıyorum. Hala modüller devre dışı bırakıldığında "@portport 'kullanımı" hatası alıyorum."Modemler devre dışı bırakıldığında '@import' kullanımı" Hata - Modülleri Etkinleştir & Çerçeveleri Bağla = YES

Xcode'un bir .pch dosyasının, herhangi bir bağlayıcı bayrağının veya bahsetmediğim başka bir şeyin kullanımı gibi Modülleri etkinleştirmesini engelleyebilecek bir şey var mı? Projeyi ve proje oluşturma klasörünü de temizlemeye çalıştım. Bunun bir etkisi yoktu.

Ayrıca dikkat edilmesi gereken nokta, projemin birden fazla hedefi olduğu ve ayrıca iOS 7.0 dağıtım hedefine sahip olmasıdır. Temel SDK'm iOS 8.3'e ayarlandı.

Screenshot of target build settings for modules

+0

Bir çözüm buldunuz mu? Google Analytics’le aynı problemim var. Şimdiden teşekkürler! –

cevap

6

Ben Projeniz ancak xcode sadece nesnel-c modülleri C ve etkinleştirmek XXX.mm dosyalarını içeren sanırım. Using @import in objective C in conjunction with __cplusplus

benim çözüm #import içine @import xxx değiştirmek geçerli:

referans için bu cevabı bir göz atın.

İyi şanslar.

+0

Bu bağlantı soruyu yanıtlayabilirken, cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantı sağlamak daha iyidir. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir. –

+0

Evet, sadece #import çalışır. Burada açıklanan aynı hata nedeniyle çalışan modüller alınamadı. #import Alex

4

Bunu sadece Firebase'i kullanmak için ihtiyaç duyduğum bir ObjC++ projesinde çözdüm.

Aşağıdakileri içeren bir ObjC (.m) dosyasını hazırlamanız yeterlidir.

#import <Foundation/Foundation.h> 
@import Firebase; // << swap this for your specific import 

bu kadar Yani, o zaman sadece ihtiyacınız belirli başlıklarını için .mm dosyalarında #include kullanın. Benim için anlamına geliyordu:

#include <"Firebase/Firebase.h"> 
#include <"FirebaseAuth/FirebaseAuth.h"> 

Sadece noktayı vurgulamak, bağlantı seçenekleri ile işe yaramaz hiçbir miktarı zaten YES oldu bu "Enable Modules (C & Objective-C)" herhangi bir fark yaptı. XCode7'ye yükseltmek yardımcı olmadı.

Yardım etmek ister misiniz?

+0

çalışır. Bunu yaptım. Yeni eklenen .m Objective-C dosyasında aynı hata. .mm dosyam yok. Bu iş parçacığında özetlenen her şeyi kontrol ettim. Hala aynı hata. Xcode 8.3 – Alex

İlgili konular