iOS - How to check on/off status of Flashlight / Torch / Flash

1.1k views Asked by At

I would like to know if the user has turned on the light over the control center before starting the app. I have a whole simple test app with the following code in the viewDidLoad.

for(AVCaptureDevice *device in [AVCaptureDevice devices]){
        if ([device isTorchAvailable] && [device hasTorch] ){
            NSLog(@"%ld -- %ld -- %@ -- %.2f -- %@", device.torchMode, device.flashMode, device.isFlashActive ? @"yes" : @"no", device.torchLevel, device.isTorchActive ? @"yes" : @"no");
        }
    }

The light will turn on and the app will start. But it returns allways:

0 -- 0 -- no -- 0.00 -- no

It says:

AVCaptureDevice *device;

device.torchMode = AVCaptureTorchModeOff
device.flashMode = AVCaptureFlashModeOff
device.isFlashActive = NO
device.torchLevel = 0.0f
device.isTorchActive = NO

Problem:

I am told "not active" however the flashlight of the Device is ON. It was switched on in the control center. Why can't I grab this information?

0

There are 0 answers