solo prende porque mañana hasta desconectando desactivar conecta como celular automatico activa xcode console debugging settings

xcode - prende - se activa el wifi solo iphone



En XCode, ¿hay alguna forma de desactivar las marcas de tiempo que aparecen en la consola del depurador al llamar a NSLog? (8)

Limpiar macro registro

Aquí hay una macro que hice para este propósito. Funciona exactamente como NSLog pero solo con su texto, sin información adicional

Macro (pegar en tu .h)

#define CLog(__string, ...) printf("/n%s", [([NSString stringWithFormat:__string, ##__VA_ARGS__]) UTF8String])

Ejemplo de uso:

CLog(@"I am %i days and %i years old", 3, 7);

Registros:

I am 3 days and 7 years old

La consola de depuración de XCode hace que sea fácil ver los mensajes de depuración que envía mi aplicación utilizando NSLog() , pero siempre NSLog() un prefijo de marca de tiempo en ellos:

2009-08-30 04:54:48.128 MyApp[94652:a0f] some log message 2009-08-30 04:54:50.647 MyApp[94652:a0f] another log message ...

No tengo uso para este prefijo, y ocupa mucho espacio. Tengo la sensación de que está codificado en el sistema de registro de Apple, pero por si acaso hay una solución:

¿Puedo hacer que la consola del depurador me muestre los mensajes de registro sin el prefijo de la marca de tiempo?

Algo como esto sería perfecto:

some log message another log message ...


Definir una macro

#if __has_feature(objc_arc) #define MDLog(format, ...) CFShow((__bridge CFStringRef)[NSString stringWithFormat:format, ## __VA_ARGS__]); #else #define MDLog(format, ...) CFShow([NSString stringWithFormat:format, ## __VA_ARGS__]); #endif

Y usa esta macro en tu código como

NSLog(@"some log message"); MDLog(@"some log message");

Aquí está la salida de la consola

NSLog-> 2014-01-28 10:43:17.873 TestApp[452:60b] some log message
MDLog -> some log message

PD

Si alguien quiere Registros personalizados que le brindan más información como nombre de método / número de línea, etc., puede descargar el código abierto MLog.h on GitHub .


En la esquina superior izquierda de la ventana de la consola hay un menú desplegable que dice Salida total / Salida del depurador / Salida objetivo.

Seleccione la salida objetivo. Funcionó en mis versiones anteriores de Xcode, pero para ser honesto, no con mi versión actual 4.3.

Espero que esto te ayude.

JR


Esto es mucho más fácil que las soluciones sugeridas. Utilizando descuidadamente la solución de Cohosy y agregando un poco más para que registre las entradas en las compilaciones de lanzamiento, solo obtendrá la siguiente macro. Simplemente agregue esta macro a su encabezado o archivo .pch. Esta macro mostrará las entradas de registro cuando el indicador DEBUG esté habilitado, en versiones de lanzamiento no verá las entradas de registro.

#ifdef DEBUG #define NSLog(FORMAT, ...) printf("%s/n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]); #define Log(x, ...) NSLog(@"%s %d: " x, __FUNCTION__, __LINE__, ##__VA_ARGS__) #else #define Log(x, ...) #endif


NSLog () es lo que está haciendo eso, no la consola del depurador.

La forma más fácil de evitarlo es no utilizar NSLog en absoluto. Puede usar fprintf (), pero eso es un problema ya que no admite% @ tipos de formato.

Generalmente escribo una función para esto:

void MyLog(NSString *format, ...) { va_list args; va_start(args, format); NSString *formattedString = [[NSString alloc] initWithFormat: format arguments: args]; va_end(args); [[NSFileHandle fileHandleWithStandardOutput] writeData: [formattedString dataUsingEncoding: NSNEXTSTEPStringEncoding]; [formattedString release]; }

Obviamente, modifíquelo para agregar una nueva línea o use un prefijo más corto, etc.

(Se corrigió el parásito ctrl-b)


Una forma de seguir usando NSLog junto con la respuesta de bbum es utilizar una macro de preprocesador para redefinir NSLog a su propia función

#define USECUSTOMLOGS 1 #ifdef USECUSTOMLOGS #define NSLog MyLog #endif

Esto reemplazará NSLog con MyLog en tiempo de compilación. Básicamente puede seguir utilizando NSLog en todas partes y seguirá utilizando su formato personalizado para la ventana de la consola. También puede cambiarlo para usar NSLog en cualquier momento cambiando el 1 a un 0.


Versión de ARC:

void NFLog(NSString *format, ...) { va_list args; va_start(args, format); NSString *formattedString = [NSString stringWithFormat:format, args]; formattedString = [formattedString stringByAppendingString:@"/n"]; va_end(args); [[NSFileHandle fileHandleWithStandardOutput] writeData: [formattedString dataUsingEncoding: NSUTF8StringEncoding]]; }

actualizar:

Lo que estoy haciendo es agregar este código a xxx-Prefix.pch y luego puedes usarlo en cualquier lugar:

#define newLine do { [(NSFileHandle*)[NSFileHandle fileHandleWithStandardOutput] writeData:[@"/n" dataUsingEncoding: NSUTF8StringEncoding]]; } while(0); #define NFLog(args,...) do { [(NSFileHandle*)[NSFileHandle fileHandleWithStandardOutput] writeData:[[NSString stringWithFormat:args, ##__VA_ARGS__] dataUsingEncoding: NSUTF8StringEncoding]]; } while(0); newLine

y si quieres recuperar NSLog:

#define NFLog(args,...) NSLog(args,##__VA_ARGS__)


poner este código de una línea en su archivo .pch y listo

#define NSLog(FORMAT, ...) printf("%s/n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

fíjate en la parte ##