Ein Versuch, ein Objekt ( po
Befehl) im xcode 6 beta 6 OSX Swift-Projekt zu drucken, führt zu folgender Fehlermeldung:
(lldb) po managedObject
error: Error in auto-import:
failed to get module '__ObjC' from AST context
In diesem Fall ist das betreffende Objekt eine Instanz von NSManagedObject
.
Irgendwelche Ratschläge, wie Sie den automatischen Import beim Einstieg __ObjC module
in den LLVM Abstract Syntax Tree-Kontext unterstützen können?
Antworten:
Ab Xcode 6.1 funktioniert der zweite Versuch, wenn Sie den Befehl po zweimal versuchen. Der erste Befehl po schlägt immer für jede neue Debugging-Sitzung fehl, aber nachfolgende Aufrufe funktionieren.
quelle
error: The AST context is in a fatal error state.
Haben Sie das gleiche Problem in xcode 7.3.1:
Aber Sie können
fr v managedObject
anstelle von verwendenpo managedObject
.quelle
Ich würde empfehlen, noch einmal zu überprüfen, ob Sie die haben
Flag unter "Andere schnelle Flags" für das Schema, das Sie zum Debuggen verwenden. Ich hatte ähnliche Probleme, als ich es versehentlich gelöscht hatte.
quelle
Ein Reinigen meines Projekts und Löschen
DerivedData
hat bei mir funktioniert.quelle
Ich habe eine ähnliche Fehlermeldung mit einem Apple-Techniker auf der WWDC2017 besprochen. Es scheint, dass dieses Problem viele Ursachen haben kann, und ich bin mir bewusst, dass mein Problem etwas anders ist als das oben beschriebene.
Mein Team hat wochenlang versucht, dies herauszufinden, und es war schließlich ein Fehler in Apples Compiler, den wir selbst niemals hätten herausfinden können. Es hat auch eine sehr einfache Problemumgehung.
Ich poste das Update nur hier, um die Wahrscheinlichkeit zu maximieren, dass jemand anderes nach dieser verwirrenden Fehlermeldung sucht und diese Antwort findet.
Hier ist es also. In unserem Fall hatten wir ein Objective-C-Projekt mit einer Mischung aus Swift- und Objective-C-Frameworks. Dieser Fix kann in etwas anderen Kontexten angewendet werden. Probieren Sie ihn einfach aus.
Es gibt einen Fehler in der Art und Weise, wie die Kompilierungsflags aus den Frameworks und dem Projekt aggregiert werden, und das "pure Objective-C" -Projekt "aktiviert" es.
Lösung: Fügen Sie Ihrem Objective-C-Projekt eine einzelne, leere Swift-Datei ("Whatever.swift" oder was auch immer) hinzu, sodass diese nicht mehr als reine Objective-C-Datei gilt (new-> file-> Swift-Datei, nicht Erstellen Sie den Bridging-Header. Die Datei enthält nur den Import von Foundation.
quelle