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.
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. –
@Nikos M. puoi aggiungere uno screenshot. Non riesco a vedere quel menu a discesa. Per favore aiuto. Mille grazie – Bonnke
Dov'è il menu a tendina per l'appartenenza al target? – lenhhoxung