2016-03-10 10 views
5

Ho un framework personalizzato TSUI definito come modulo. Ha sia il codice Objective-C e Swift. Se ho importare nel codice Objective-C come segue:@import X; Cause errore Impossibile creare il modulo X

#import <TSUI/TSUI.h> 

Tutto funziona bene, ma poi ho solo l'accesso al codice Objective-C. Tuttavia, se importarlo come:

@import TSUI; 

o

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

tutto compila bene, ma in Xcode ottengo il seguente errore: enter image description here

Sia il quadro e il codice app Ho impostato le seguenti impostazioni di creazione:

  • Contenuto incorporato cont ains Swift code = YES
  • Consenti non modulare comprende in moduli quadro = YES
  • Enable Moduli = YES

Ho provato la pulizia del progetto, la pulizia dei dati derivati, e la questione continua a tornare . Appare anche se il framework non contiene codice Swift ma è incluso con @import anziché #import. Al momento considererei un bug.

+0

avete provato la costruzione del progetto prima di importarlo? –

+0

Puoi creare e caricare un piccolo progetto di esempio con questo problema? – JAL

risposta

0

Rimuovere le istruzioni di importazione correnti in modo che il progetto compili.

Costruisci il tuo progetto.

Provare e importare nuovamente.

0

C'è qualcosa che non va nel tuo modulo. Credo nel tuo progetto TSUI che devi impostare un file modulemap. Dovresti avere un file che importa solo tutti i file che vorresti includere nel modulo. Puoi chiamarlo TSUI-umbrella.h. Nella tua modulemap dovresti impostare questa come intestazione del tuo ombrello. Quindi quando si esegue @import (che importa il modulo) si otterrà una compilazione corretta. Inoltre è possibile fare

#import <TSUI/TSUI-umbrella.h> 

o fondamentalmente

#import <ModuleName/UmbrellaHeader>