1

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?

VC.One
  • 14,790
  • 4
  • 25
  • 57
Stefan
  • 190
  • 1
  • 11

0 Answers0