AVAudioRecorder deja de funcionar al escribir en / dev / null en iPhone 5s con iOS 7

Tengo una aplicación que controla el nivel de audio de fondo sin grabar en un archivo. Utilizo el truco de escribir a / dev / null para lograr esto.

Este código ha funcionado en el iPhone 3GS con iOS 6, iPhone 4 con iOS 6 y iOS 7, y en el simulador con iOS 7 y iPhone Retina (4 pulgadas de 64 bits).

Sin embargo, cuando lo pruebo en un iPhone 5 real, la grabadora parece capturar el audio por un momento y luego se apaga silenciosamente.

Este es el código:

    // Inititalize the audio

NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];

NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
                          [NSNumber numberWithFloat: 44100.0],                 AVSampleRateKey,
                          [NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
                          [NSNumber numberWithInt: 1],                         AVNumberOfChannelsKey,
                          [NSNumber numberWithInt: AVAudioQualityMax],         AVEncoderAudioQualityKey,
                          nil];


NSError *error;

recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];

if (recorder) {
    [recorder prepareToRecord];
    recorder.meteringEnabled = YES;
    [recorder record];
    levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.03 target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES];
    //        peakLevelTimer = [NSTimer scheduledTimerWithTimeInterval: 2.0 target: self selector: @selector(peakLevelTimerCallback:) userInfo: nil repeats: YES];
} else {
    NSLog(@"There was an error setting up the recorder.");        
    NSLog([error description]);
}

¿Alguna idea de lo que podría estar pasando?

¿Alguien podría sugerir una solución? Escribir en un archivo real funciona, pero no quiero llenar ningún espacio en el dispositivo solo para monitorear el audio. ¿Hay alguna forma de escribir en un búfer pequeño que se evapore en el aire? Implementar mi propio / dev / null, efectivamente?

Respuestas a la pregunta(2)

Su respuesta a la pregunta