Este código funciona muy bien para mí ..
#if TARGET_IPHONE_SIMULATOR == 0
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
#endif
entonces se puede obtener la archivo de registro del iphone utilizando el método descrito aquí http://blog.coriolis.ch/2009/01/09/redirect-nslog-to-a-file-on-the-iphone/#more-85
Tenga en cuenta que al usar freopen se DETENDERÁ LA C ONSOLE IN XCODE funciona ... sin embargo, por alguna razón, la consola que puedes ver en el organizador de xcode sigue funcionando muy bien.
¿Recuerdas qué argumentos usaste? –
Utilicé freopen ([newFileName UTF8String], "w +", stderr), que redirigió todos los resultados de la consola a logFileName. –
Solo para dar seguimiento, esto funcionó bien. El único fastidio es que la salida NSLog deja de aparecer en la consola después de llamar a freopen, pero es un problema bastante menor. –