2011-10-22 18 views
38

Tengo un proyecto de Xcode en el que he estado trabajando durante meses. Nunca tuve un problema con NSLog, pero después de actualizar a Xcode 4.2, nada se registrará en la consola. Incluso intenté arrojar esto en viewDidLoad:NSLog no imprime en la consola

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSLog(@"Can anyone hear me?"); 

Y nada. ¿Alguien más tiene este problema o conoce una solución?

+1

Compruebe si esto puede ayudarlo: http://stackoverflow.com/a/34743750/1753005 –

Respuesta

77

Bueno, esto es embarazoso. La consola se desactivó, de alguna manera estaba viendo la ventana de variables. Presionando Shift + + C hizo el truco.

Muchas gracias a Robert King en este tema:

https://devforums.apple.com/message/565880#565880

+0

Tenía lo mismo, pero no fue después de la actualización. Lo he estado usando por un tiempo ahora. Aunque no tengo idea de cómo sucedió ... extraño. Además, (si esto es de hecho un error), pensé que debería tener en cuenta que estoy ejecutando Xcode 4.3.2 – daveMac

+0

Holy cow. Esto me pasó a mí también. Pasé 2 días en esto hasta que vi la 'solución' aquí. Buen señor. – sam

+0

Mi consola está abierta, está configurada para mostrar todos los resultados, y mis NSLogs aún no se muestran. – bugloaf

8

Mi problema es que tengo depurador de salida seleccionado. Una vez que lo cambié a Todas las salidas o de salida de destino NSLogs parecen estar bien.

En caso de que esto lo confunda, está a la izquierda del área Depuración.

+0

Dayum ... ¿sabes cuánto tiempo esto me confundió? No pude entender por qué no pude ver esta producción. –

0

Mi problema fue que corté accidentalmente la toma de referencia del delegado de la aplicación (delegado - propietario del archivo).

0

Tuve el mismo problema. El truco es buscar y eliminar la línea del proyecto que se menciona a continuación.

#define NSLog(...) 

Busca todo el proyecto y quítalo.

5

En iOS10, se muestra una gran cantidad de registro del sistema en la consola. Esto se puede desactivar incluyendo OS_ACTIVITY_MODE = disabled en los argumentos de ejecución para su esquema

Sin embargo, para iOS10, los mensajes NSLog ya no se mostrarán. En las versiones inferiores de iOS, los mensajes seguirán mostrándose. Entonces, tal vez para la mayoría de los casos de prueba, puede usar una versión más baja de iOS.

De lo contrario, puede incluir una función Swift que imprime (imprime) su texto, esto funciona bien en iOS10.

Probado en iOS10.0.2 y iOS9.3

+0

Esta fue la solución que funcionó para mí. ¿Esto es un error que ha sido reportado? – Scooter

+0

Creo que sí, porque Apple ha solucionado esto en la nueva versión Beta. – Vincent

43

trata de un error de Xcode8 + iOS10, podemos resolver de esta manera:

Cuando el simulador de , agregue el nombre y la OS_ACTIVITY_MODE Valor Variables disable y compruébalo (Producto -> Esquema -> Editar esquema -> Ejecutar -> Argumentos -> Entorno). enter image description here

Cuando el dispositivo , sólo se suman OS_ACTIVITY_MODE y comprobar que funciona (no añadir el valor). Verá el NSLog en la consola Xcode8. enter image description here

+1

Relevante para Xcode9 también –

0

Acabo de experimentar esto, así que aquí hay algo más que comprobar.

-> Asegúrese de que no tiene nada escrito en el campo Filtro debajo de la Salida de registro. Entonces, en mi caso, estaba buscando un término en el registrador y olvidé eliminar los términos buscados del campo de texto Filtro. DOH!

Cuestiones relacionadas