Manipulação de Log Objective-C

Método NSLog

Para imprimir logs, usamos o método NSLog na linguagem de programação Objective-C, que usamos desde o exemplo Hello World.

Vejamos um código simples que imprimiria as palavras "Hello World" -

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Hello, World! \n");
   return 0;
}

Agora, quando compilarmos e executarmos o programa, obteremos o seguinte resultado.

2013-09-16 00:32:50.888 demo[16669] Hello, World!

Desativar registros em aplicativos Live

Já que os NSLogs que usamos em nosso aplicativo, eles serão impressos nos logs do dispositivo e não é bom imprimir logs em uma compilação ao vivo. Portanto, usamos uma definição de tipo para imprimir logs e podemos usá-los conforme mostrado abaixo.

#import <Foundation/Foundation.h>

#if DEBUG == 0
#define DebugLog(...)
#elif DEBUG == 1
#define DebugLog(...) NSLog(__VA_ARGS__)
#endif

int main() {
   DebugLog(@"Debug log, our custom addition gets \
   printed during debug only" );
   NSLog(@"NSLog gets printed always" );     
   return 0;
}

Agora, quando compilarmos e executarmos o programa em modo de depuração, obteremos o seguinte resultado.

2013-09-11 02:47:07.723 demo[618] Debug log, our custom addition gets printed during debug only
2013-09-11 02:47:07.723 demo[618] NSLog gets printed always

Agora, quando compilarmos e executarmos o programa no modo de lançamento, obteremos o seguinte resultado.

2013-09-11 02:47:45.248 demo[3158] NSLog gets printed always