Usar a unidade de flash do dispositivo no iOS

Ativar a unidade de flash do dispositivo durante uma sessão de RA pode ajudar a melhorar visibilidade.

Verificar se a configuração atual da câmera é compatível com o flash

Nem todas as configurações de câmera são compatíveis com a ativação de uma unidade de flash. Antes de ativar o Flash ou de oferecer aos usuários a opção de ativá-lo, verifique se a unidade de flash está disponível para a câmera ativa configuração:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
    return device.hasTorch;
}
return false;

Ativar a unidade de flash

Ative a unidade de flash configurando a sessão de RA com AVCaptureTorchModeOn

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
    if (device.hasTorch) {
        NSError *error = nil;
        if ([device lockForConfiguration:&error]) {
            device.torchMode = AVCaptureTorchModeOn;
            [device unlockForConfiguration];
        } else {
            return;
        }
    }
}

Desativar a unidade de flash

Desative a unidade de flash configurando a sessão de RA com o AVCaptureTorchModeOff

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
    if (device.hasTorch) {
        NSError *error = nil;
        if ([device lockForConfiguration:&error]) {
            device.torchMode = AVCaptureTorchModeOff;
            [device unlockForConfiguration];
        } else {
            return;
        }
    }
}