1

我想知道用户在启动应用程序之前是否打开了控制中心上方的灯。我有一个完整的简单测试应用程序,其中包含以下代码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
device.isFlashActive = NO
device.torchLevel = 0.0f
device.isTorchActive = NO

问题:

我被告知“未激活”,但设备的手电筒已打开。它在控制中心被打开。为什么我不能获取这些信息?

4

1 回答 1

0

请参阅演示项目
https://github.com/StefaniOSApps/TestFlash

这有助于检查当前手电筒状态。

于 2019-02-13T20:18:45.797 回答