2016-03-10 24 views
5

Mam niestandardowy obiektowy moduł TSUI zdefiniowany jako moduł. Ma zarówno kod Objective-C, jak i Swift. Gdybym zaimportować go w kodzie Objective-C, co następuje:@import X; Przyczyna błędu Nie można zbudować modułu X

#import <TSUI/TSUI.h> 

Wszystko działa dobrze, ale potem mam tylko dostęp do kodu Objective-C. Jednakże, jeśli mogę zaimportować go jako:

@import TSUI; 

lub

#import <TSUI/TSUI.h> 
#import <TSUI/TSUI-Swift.h> 

Wszystko kompiluje grzywny, ale w Xcode pojawia się następujący błąd: enter image description here

W obu ram i kodzie aplikacji Ustawiłem następujące ustawienia kompilacji:

  • Treść wbudowana cd NLPZ Swift code = TAK
  • Pozwól niemodularnego obejmuje w ramowym Modules = TAK
  • Włącz modułów = TAK

Próbowałem czyszczenia projekt, czyszczenia danych uzyskanych, a problem wciąż wracają . Pojawia się także, jeśli framework nie zawiera kodu Swift, ale jest zawarty w @import zamiast w #import. W tej chwili uważam, że jest to błąd.

+0

próbowałeś budowania projektu przed importem go? –

+0

Czy można utworzyć i przesłać mały przykładowy projekt z tym problemem? – JAL

Odpowiedz

0

Usuń bieżące oświadczenia importowe , aby projekt został skompilowany.

Zbuduj swój projekt.

Spróbuj ponownie i zaimportuj.

0

Coś jest nie tak z Twoim modułem. Wierzę w twój projekt TSUI, że musisz ustawić plik modulemap. Powinieneś mieć plik, który po prostu importuje wszystkie pliki, które chciałbyś dołączyć do modułu. Możesz to nazwać TSUI-umbrella.h. W swojej modulemapie powinieneś ustawić ten nagłówek jako parasol. Następnie po uruchomieniu @import (który importuje moduł) otrzymasz odpowiednią kompilację. Dodatkowo można zrobić

#import <TSUI/TSUI-umbrella.h> 

lub zasadniczo

#import <ModuleName/UmbrellaHeader> 
Powiązane problemy