Gestione dei log di Objective-C
Metodo NSLog
Per stampare i log, utilizziamo il metodo NSLog nel linguaggio di programmazione Objective-C che abbiamo utilizzato direttamente dall'esempio Hello World.
Esaminiamo un semplice codice che stamperebbe le parole "Hello World" -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Hello, World! \n");
return 0;
}
Ora, quando compiliamo ed eseguiamo il programma, otterremo il seguente risultato.
2013-09-16 00:32:50.888 demo[16669] Hello, World!
Disattivazione dei registri nelle app Live
Poiché gli NSLog che usiamo nella nostra applicazione, verranno stampati nei log del dispositivo e non è bene stampare i log in una build live. Quindi, usiamo una definizione del tipo per stampare i log e possiamo usarli come mostrato di seguito.
#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;
}
Ora, quando compiliamo ed eseguiamo il programma in modalità debug, otterremo il seguente risultato.
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
Ora, quando compiliamo ed eseguiamo il programma in modalità di rilascio, otterremo il seguente risultato.
2013-09-11 02:47:45.248 demo[3158] NSLog gets printed always