2008-12-10 35 views
12

¿Hay alguna forma estándar o alguien ha escrito algo que le permite registrar un mensaje y mostrarlo en una pequeña sección de desplazamiento en la pantalla del iphone o en una ventana separada en el simulador de iphone?¿Cuál es la mejor manera de registrar información de depuración en una aplicación de iPhone?

Actualización: Para nodos como yo y no sé, utilice los métodos NSLog como se describe a continuación y asegúrese de seleccionar Ejecutar-> Consola para mostrar la consola.

todavía les gustaría saber si alguien ha escrito un registrador sencillo que muestra en el iPhone en sí ....

Respuesta

10

El Objective-C (más correcto, en realidad) método es

NSLog(@"message"); 

Pero el método estándar de C trabajará también

printf("message"); 
+8

Nunca es demasiado temprano para conseguir en el hábito de: NSLog (@ "% @ ",@"mensaje"); Cuando refactorice más adelante o corte y pegue será más difícil introducir un error de cadena de formato. –

3

Uso NSLog (@ "Log mensaje");

12

no tengo suficiente 'reputación' para añadir un comentario directo para su publicación, pero: no se olvide de ir a XCode-> Preferencias-> Depuración-> Al inicio: Elija Mostrar consola & Depurador

Puede, por supuesto, elegir solo el Consola o lo que sea, pero probablemente querrás que el Depurador lo haga. Para usar eso, simplemente haga clic a la izquierda de la línea que desea romper. También puede alternar de 'Activar' a 'Desactivar' para que, si sabe que hay un montón de puntos de interrupción que no necesita marcar al principio de su aplicación, configure la depuración en Deactiva (en la ventana de depuración) y luego , antes de presionar el elemento de la interfaz de usuario en la aplicación que desea depurar, active el mismo botón para activar, de modo que sus puntos de interrupción se activen. De lo contrario, podría simplemente hacer clic en Continuar hasta llegar a su sección.

Además, en el NSLog, si comienza a acumular un montón de instrucciones de registro y necesita 'encontrar' una en particular, es útil hacer lo siguiente: NSLog (@ "\ n \ n \ nMy statement \ n \ n \ n); lo que dará un montón de saltos de línea también, para los no iniciados:

NSLog(@"My int: %d my BOOL: %d", myInt, myBOOL); 
NSLog(@"My object of any NSObject: %@", anObjectOfAnyKind); 
NSLog(@"My float: %f",myFloat); 

esperanza todo esto es útil y lo siento si me bajé de la pista con el bit de depuración;)

+0

Toda la buena información - ¡gracias! – nevster

2
.

Si tiene una aplicación que falla, puede preguntar a los usuarios el registro de bloqueo. El registro de bloqueo contiene información sobre lo que la aplicación estaba haciendo cuando se bloqueó y el seguimiento de la pila.

Los archivos de registro de la aplicación del iPhone también se almacenan en la computadora de los usuarios y se copian en todas las ocasiones en que sincronizan su iPhone. (Tenga en cuenta que DEVICE_NAME tendrá el mismo nombre de su iPhone en iTunes, y cada archivo de registro comenzará con el nombre de la aplicación.)

Mac OS X:/Library/Logs/CrashReporter/MobileDevice //

Windows XP: C: \ Documents and Settings \ Application Data \ Apple Computer \ Logs \ CrashReporter \

Windows Vista: C: \ Users \ AppData \ Roaming \ Apple Computer \ Logs \ CrashReporter \ MobileDevice \

+2

¿El registro de la consola también se copia? – mahboudz

0

para Swift, es simplemente

print("log msg") 
Cuestiones relacionadas