Mam aplikację na iOS, która składa się z aplikacji, grono moich własnych ram, a banda framweorks osób trzecich:XCode6: Odbieranie błąd „Include non-modułowego nagłówku wewnątrz modułu ramowego”
App
MyFramework1
MyFramework2
AFNetworking.framework
Mantle.framework
..
otrzymuję błąd „Include non-modułowego nagłówku wewnątrz modułu ramowego” o następującej strukturze:
App/AppDelegate.m
#import <MyFramework2/MyFramework2.h>
MyFramework2/MyFramework2.h
#import "MyClass.h"
MyClass.h
#import <Mantle/Mantle.h> <-- Error happens here
MyFramework2 buduje sama.
Próbując zbudować App niepowodzeniem z błędem „Include non-modułowego nagłówku wewnątrz modułu ramowego” na linii, która importuje Mantle.h.
Ten problem zniknie, jeśli importuję plik Mantle.h w pliku .m
, ale nie mogę tego zrobić, ponieważ moja klasa dziedziczy po MTLModel
, która jest zdefiniowana w Mantle.
Ten numer został rozwiązany pod numerem here, ale nie jest on specyficzny dla Swift.
Propozycje są (1) upewnij się, że wszystkie niestandardowe nagłówki ramki są publiczne. Oni są. I (2) przejdź do Build Settings w "Target" i ustaw "Allow Non-modular Includes in Framework Modules" na YES
.
Czy ktoś wie, dlaczego tak się dzieje i jak to naprawić? Czy ustawienie "Zezwalaj na nie modułowe uwzględnianie w modułach szkieletowych" na TAK jest dobrą praktyką? Dlaczego to jest błąd?
Dzięki.
Uwaga jest to problem nawet jeśli włączył dzyń ustawienie „Zezwalaj niemodularnego obejmuje w ramowym Modules”, który rozwiązuje odpowiedź. Dzięki. –
@Nikos M. możesz dodać zrzut ekranu. Nie mogę zobaczyć tego menu. Proszę pomóż. Wielkie dzięki – Bonnke
Gdzie jest menu rozwijane dla członkostwa docelowego? – lenhhoxung