[闪光灯使用时崩溃[AVCaptureDevice setTor
2019-08-12 本文已影响0人
90后的晨仔
崩溃的日志:*** -[AVCaptureDevice setTorchMode:] The passed torchMode 1 is not supported - use -isTorchModeSupported: to discover valid torch modes (null)
分析:起因是因为是打开闪光灯的时候,有些设备不支持闪光灯导致崩溃。比如ipad不支持闪光灯,解决方法如下。
解决方法:
- (void)switchFlashDeviceWithOn:(BOOL)on {
// 更改设置的时候必须先锁定设备,修改完后再解锁,否则崩溃
[self.flashDevice lockForConfiguration:nil];
// 判断设备是否支持闪光灯
if ([self.flashDevice hasFlash]) {
if (on) {
[self.flashDevice setTorchMode:AVCaptureTorchModeOn];
} else {
[self.flashDevice setTorchMode:AVCaptureTorchModeOff];
}
}else {
DLog(@"该设备不支持闪光灯")
}
// 修改完毕解锁
[self.flashDevice unlockForConfiguration];
}