XCode6: Empfangsfehler "Include of non-modular header inside framework module"
Ich habe eine iOS-App, die aus einer App, einigen meiner benutzerdefinierten Frameworks und einigen Framweorks von Drittanbietern besteht:
App
MyFramework1
MyFramework2
AFNetworking.framework
Mantle.framework
..
Ich erhalte die Fehlermeldung "Include of non-modular header inside framework module" mit der folgenden Struktur:
App/AppDelegate.m
#import <MyFramework2/MyFramework2.h>
MyFramework2/MyFramework2.h
#import "MyClass.h"
MyClass.h
#import <Mantle/Mantle.h> <-- Error happens here
MyFramework2 bautvon selbs.
Versuch zu bauen App schlägt fehl mit der Fehlermeldung "Include of non-modular header inside framework module"an der Zeile, die Mantle.h importiert.
Dieses Problem tritt nicht mehr auf, wenn ich Mantle.h in das @ importier.m
Datei, aber ich kann das nicht tun, weil meine Klasse von @ erMTLModel
, das in Mantle definiert ist.
Dieses Problem wurde behobenHie, aber es ist nicht Swift-spezifisch.
Vorschläge gibt es (1) stellen Sie sicher, dass alle benutzerdefinierten Framework-Header öffentlich sind. Sie sind. Und (2) gehen Sie zu Build Settings unter "Target" und setzen Sie "Allow Non-modular Includes in Framework Modules" aufYES
.
Weiß jemand, warum das passiert und wie man es behebt? Wird die Einstellung "Nicht modulare Includes in Framework-Modulen zulassen" auf "Ja" als bewährte Methode angesehen? Warum ist das ein Fehler?
Vielen Dank