Encienda la antorcha / flash en iPhone

Sé que la única forma de encender el flash y mantenerlo encendido en el iPhone 4 es encendiendo la cámara de video. Sin embargo, no estoy muy seguro del código. Esto es lo que estoy intentando:

-(IBAction)turnTorchOn {
    AVCaptureSession *captureSession = [[AVCaptureSession alloc] init];
    AVCaptureDevice *videoCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    NSError *error = nil;
    AVCaptureDeviceInput *videoInput = [AVCaptureDeviceInput deviceInputWithDevice:videoCaptureDevice error:&error];

    if (videoInput) {
        [captureSession addInput:videoInput];

        AVCaptureVideoDataOutput* videoOutput = [[AVCaptureVideoDataOutput alloc] init];
        [videoOutput setSampleBufferDelegate:self queue:dispatch_get_current_queue()];

        [captureSession addOutput:videoOutput];

        [captureSession startRunning];

        videoCaptureDevice.torchMode = AVCaptureTorchModeOn;
    }   
}

¿Alguien sabe si esto funcionaría o me falta algo? (Todavía no tengo un iPhone 4 para probar, solo probando algunas de las nuevas API).

Gracias

Respuestas a la pregunta(8)

Su respuesta a la pregunta