Ativar a tocha / flash no iPhone

Sei que a única maneira de ligar o flash e mantê-lo no iPhone 4 é ligando a câmera de vídeo. Não tenho muita certeza do código. Aqui está o que estou tentando:

-(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;
    }   
}

Alguém sabe se isso funcionaria ou estou faltando alguma coisa? (Ainda não tenho um iPhone 4 para testar, apenas experimente algumas das novas APIs).

obrigado

questionAnswers(8)

yourAnswerToTheQuestion