no se puede imprimir el objeto ('po') en el proyecto xcode6 beta 6 osx swift: (Error en la importación automática: no se pudo obtener el módulo '__ObjC' del contexto AST)

87

Un intento de imprimir un objeto ( pocomando) en el proyecto xcode 6 beta 6 OSX Swift da como resultado este mensaje de error:

(lldb) po managedObject
error: Error in auto-import:
failed to get module '__ObjC' from AST context

En este caso, el objeto en cuestión es una instancia de NSManagedObject.

¿Algún consejo sobre cómo ayudar a la importación automática para __ObjC moduleingresar al contexto del árbol de sintaxis abstracta de LLVM?

Maxim Volgin
fuente
Tengo el mismo problema, ni siquiera puedo colocarme en un viewController. No tengo idea de dónde viene esto o cómo resolverlo
BObereder
1
Todavía tengo el mismo problema en la versión beta 7.
Weiran
2
use print en lugar de po
ant_one
2
En lugar de usar expresión, ¿ probó la variable de marco managedObject ?
vladof81
5
la variable de marco 'funciona' (también lo hace la abreviatura fr v ). En mi caso, mi ' manageObject es JSON en un diccionario a través de AFNetworking. Me gustaría ver en el diccionario algo así como managedObject ['clave'] . Eso no funciona con fr v .
Zak J

Respuestas:

24

A partir de Xcode 6.1, si intenta el comando po dos veces, funcionará en el segundo intento. El primer comando po siempre fallará para cada nueva sesión de depuración, pero las llamadas posteriores funcionan.

Robert Wagstaff
fuente
lo mismo aquí, se bloqueó
user1366265
7
Ya no funciona para Xcode 7 ... sigue siendo el mismo accidente
Bartłomiej Semańczyk
4
En el segundo intento, error: The AST context is in a fatal error state.
obtengo
7

Tiene el mismo problema en xcode 7.3.1:

error: Error in auto-import:
failed to get module 'Touch' from AST context:
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2/libxml/tree.h"
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2/libxml/tree.h:17:10: error: 'libxml/xmlversion.h' file not found
#include <libxml/xmlversion.h>
         ^
could not build Objective-C module 'LibXML2'

Pero puedes usar en fr v managedObjectlugar de po managedObject.

Alexander Danilov
fuente
3

Te recomiendo que vuelvas a comprobar que tienes el

-D DEPURACIÓN

bandera establecida en 'Otras banderas rápidas' para el esquema que está utilizando para depurar. Experimenté problemas similares cuando lo eliminé accidentalmente.

gemmakbarlow
fuente
1

Una limpieza de mi proyecto y la eliminación DerivedDatafuncionó para mí.

Nico
fuente
1

Discutí un mensaje de error similar con un ingeniero de Apple en WWDC2017. Parece que este problema puede tener muchas causas, y soy consciente de que el mío es ligeramente diferente al descrito anteriormente.

Mi equipo pasó semanas tratando de resolver esto, y terminó siendo un error en el compilador de Apple, que nunca podríamos haber descubierto por nosotros mismos. Además, tiene una solución MUY fácil.

Entonces, solo soy yo publicando la solución aquí, para maximizar la probabilidad de que alguien más busque este confuso mensaje de error y encuentre esta respuesta.

Asi que aqui esta. En nuestro caso, teníamos un proyecto de Objective-C que utilizaba una combinación de marcos Swift y Objective-C. Esta solución puede aplicarse en contextos ligeramente diferentes, simplemente pruébelo.

Sucede que hay un error con la forma en que los indicadores de compilación se agregan desde los marcos y el proyecto, y el proyecto "puro Objective-C" lo "activa".

Solución: agregue un solo archivo Swift vacío ("Whatever.swift", o lo que sea) en su proyecto Objective-C, para que ya no sea puro-objetivo-c (nuevo-> archivo-> archivo Swift, no cree el encabezado puente. El archivo solo contendrá la importación de Foundation).

fredericouimet
fuente