/ / Uwzględnij niemodularny nagłówek przy włączaniu frameworka innej firmy do Celu C - cel-c, dołącz, pliki nagłówkowe

Uwzględnij niemodularny nagłówek, gdy uwzględnisz framework strony trzeciej w Celu C - cel-c, dołącz, pliki-nagłówków

Muszę udostępnić metodę w pliku nagłówka, aby zaakceptować parametr typu pochodzący ze środowiska innej firmy. Stub metody wygląda następująco:

- (void) onComplete:(RETURN_CODE (^)(BOOL isSuccess, NSData* tags))onComplete;

RETURN_CODE jest wyliczeniem typedef w frameworku innej firmy, ale nie jest to typowa definicja wyliczenia. Wygląda to tak:

typedef enum {
RETURN_CODE_DO_SUCCESS = 0,
RETURN_CODE_ERR_DISCONNECT = 0xFF01,
RETURN_CODE_ERR_CMD_RESPONSE = 0xFF02,
// continued...
}

Kiedy próbuję zaimportować go do pliku nagłówka, pojawia się błąd „Uwzględnij niemodularny nagłówek w module frameworka”

Obejrzałem to przed użyciem protokołu iklasy wcześniej, ale nie jestem pewien, jak to obejść dla typu RETURN_CODE. Mam już opcję „Zezwalaj na modułowe dołączenia” ustawioną na Tak. Zarówno mój framework, jak i framework innej firmy są zawarte w nagłówku pomostowym w mój szybki projekt.

Struktura moich ram jest taka, że ​​A.h importuje C.h, A.m importuje B.h, i B.h importuje C.h. Nie sądzę, że to powinien być problem?

Ponieważ jest to platforma frameworka, którą jestempodczas importowania nie jestem pewien, czy mogę zmienić docelowe członkostwo. Jest już uwzględniony na liście Link Binary With Libraries. W przypadku lulz przeciągnąłem go i upuściłem w sekcji Public headers, ale to nie pomogło.

Próbowałem utworzyć plik mapy modułu, ale to też niczego nie zmieniło. Nie jestem pewien, czy poprawnie go utworzyłem, po prostu otrzymałem ten sam błąd, co wcześniej nawet po usunięciu mostkującego nagłówka.

Odpowiedzi:

1 dla odpowiedzi № 1

Opcja 1: Przejdź do pliku nagłówka i zmień go na publiczny.

Zmień plik nagłówka

Opcja 2: Przejdź do Projekt> Ustawienia kompilacji> Apple LLVM 9.0 - Język - Moduły> Wszystkie elementy niemodułowe zawarte w modułach struktury = TAK

Zmień ustawienia kompilacji