2015-05-21 11 views
7

Mam projekt, który używa CocoaPods i używa kapsuły SCLAlertView-Objective-C. Ten moduł używa importowania stylu modułu @import UIKit;. Ustawiłem "Enable Modules (C & Objective-C)", a "Link Frameworks Automatically" na YES zarówno w ustawieniu docelowym, jak i projektu. Nadal dostaję błąd "Use of @import", gdy moduły są wyłączone "."Używanie" @import ", gdy moduły są wyłączone" Błąd - Włącz moduły i schematy połączeń = TAK

Czy jest coś, co mogłoby uniemożliwić Xcode włączanie modułów takich jak użycie pliku .pch, dowolnych flag łącznika lub czegokolwiek, o czym nie wspomniałem? Próbowałem również oczyścić projekt i folder budowy projektu. To nie miało żadnego efektu.

Warto również zauważyć, że mój projekt ma wiele celów i ma również cel wdrożenia systemu iOS 7.0. My Base SDK jest ustawiony na iOS 8.3.

Screenshot of target build settings for modules

+0

Znalazłeś rozwiązanie? Mam taki sam problem z Google Analytics. Z góry dziękuję! –

Odpowiedz

6

Chyba projekt zawiera pliki XXX.mm jednak Xcode tylko umożliwić C i objective-c moduły.

Proszę spojrzeć na tę odpowiedź dla odniesienia: Using @import in objective C in conjunction with __cplusplus

moje rozwiązanie jest zmodyfikowanie xxx @import w #import.

Powodzenia.

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. –

+0

Tak, działa tylko #import. Nie można uzyskać modułów działających z powodu tego samego błędu opisanego tutaj. #import działa – Alex

4

Właśnie rozwiązałem to w przede wszystkim projekcie ObjC++, nad którym pracowałem, który był potrzebny do korzystania z Firebase.

Po prostu wykonaj plik ObjC (.m) zawierający następujące elementy.

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

To wszystko, a następnie po prostu użyć #include w swoim .mm plików dla poszczególnych nagłówków trzeba. Dla mnie oznaczało to:

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

Wystarczy zaznaczyć punkt, żadna ilość błahy z opcji łącza wykonane żadnej różnicy do tego "Enable Modules (C & Objective-C)" już YES było. Aktualizacja do XCode7 wydawała się nie pomagać.

Mam nadzieję, że to pomoże komuś :)

+0

Zrobiłem to. Ten sam błąd w nowo dodanym pliku .m Objective-C. Nie mam plików .mm. Sprawdzono wszystko, co przedstawiono w tym wątku. Wciąż ten sam błąd. Xcode 8.3 – Alex