iOS - Как проверить состояние включения / выключения фонарика / фонарика / вспышки - PullRequest
0 голосов
/ 01 февраля 2019

Я хотел бы знать, включил ли пользователь индикатор над центром управления, прежде чем запускать приложение.У меня есть целое простое тестовое приложение со следующим кодом в 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");
        }
    }

. Подсветка включится, и приложение запустится.Но он всегда возвращается:

0 - 0 - нет - 0,00 - нет

В нем говорится:

устройство AVCaptureDevice *;

device.torchMode = AVCaptureTorchModeOff
device.flashMode = AVCaptureFlashModeOff
устройство.isFlashActive = NO
device.torchLevel = 0.0f
device.isTorchActive = NO

Проблема:

Мне сказали «не активен», однако фонарик устройства включен.Он был включен в центре управления.Почему я не могу получить эту информацию?

1 Ответ

0 голосов
/ 13 февраля 2019

См. Демонстрационный проект
https://github.com/StefaniOSApps/TestFlash

Это помогает проверить текущее состояние фонарика.

...