¿Cómo detectar al usuario que da permiso de micrófono en iOS?

Entonces, la cosa es que necesito llamar a alguna función después de que el usuario dé (o rechace) un permiso para usar el micrófono.

Ya vi esto:

[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
        if (granted) {
            // Microphone enabled code
            [self someFunction];

        }
        else {
            // Microphone disabled code
        }
 }];

Sin embargo, esto solo funciona para detectar el estado actual.

Si el estado actual es "no" y aparece una ventana emergente y el usuario da el permiso, no se llamará a la función. Eso es porque en el momento de ejecutar esto el permiso era "no" y hasta que ejecutemos el código la próxima vez no se llamará a la función.

Lo que quiero hacer es llamar a una función después de que el usuario haya presionado "permitir" o "rechazar".

Alguien sabe como hacer esto?

EDITAR: Olvidé mencionar que tiene que ser una solución compatible con iOS 7.0.

Respuestas a la pregunta(2)

Su respuesta a la pregunta