我想知道用户在启动应用程序之前是否打开了控制中心上方的灯。我有一个完整的简单测试应用程序,其中包含以下代码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
问题:
我被告知“未激活”,但设备的手电筒已打开。它在控制中心被打开。为什么我不能获取这些信息?