2015-02-17 6 views
14

Ho un app iOS che si compone di un app, un gruppo di miei quadri personalizzati, e un mazzo di framweorks di terze parti:XCode6: errore di ricezione "Includi di intestazione non modulare all'interno del modulo quadro"

App 
    MyFramework1 
    MyFramework2 
     AFNetworking.framework 
     Mantle.framework 
     .. 

ottengo l'errore "Include di intestazione non modulare all'interno del modulo quadro" con la seguente struttura:

App/AppDelegate.m 
#import <MyFramework2/MyFramework2.h> 

MyFramework2/MyFramework2.h 
#import "MyClass.h" 

MyClass.h 
#import <Mantle/Mantle.h>  <-- Error happens here 

MyFramework2 costruisce per sé.

cercando di costruire App fallisce con l'errore "Includi di intestazione non modulare all'interno del modulo quadro" alla linea che importa Mantle.h.

Questo problema va via se importare Mantle.h nel file .m, ma non posso farlo perché la mia classe eredita da MTLModel, che è definito nel mantello.

Questo problema è stato risolto here, ma non è specifico di Swift.

Suggerimenti ci sono (1) assicurarsi che tutte le intestazioni del framework personalizzato siano pubbliche. Loro sono. And (2) vai su Build Settings sotto "Target" e imposta "Consenti accessi non modulari nei moduli Framework" a YES.

Qualcuno sa perché questo sta accadendo e come risolverlo? L'impostazione "Consenti accessi non modulari in moduli quadro" a SÌ è considerata una buona pratica? Perché è un errore?

Grazie.

risposta

14

Selezionare il file .h nella barra di navigazione del progetto. Nell'area di appartenenza di destinazione sulla destra c'è un menu a discesa accanto all'obiettivo. Seleziona "pubblico" lì (probabilmente "progetto" è selezionato in questo momento).

enter image description here

+0

notare che questo è un problema, anche se è stata attivata l'impostazione CLANG "Consenti non modulare comprende in moduli quadro", che la tua risposta risolve. Grazie. –

+2

@Nikos M. puoi aggiungere uno screenshot. Non riesco a vedere quel menu a discesa. Per favore aiuto. Mille grazie – Bonnke

+0

Dov'è il menu a tendina per l'appartenenza al target? – lenhhoxung

Problemi correlati