崩潰的日志:*** -[AVCaptureDevice setTorchMode:] The passed torchMode 1 is not supported - use -isTorchModeSupported: to discover valid torch modes (null)
分析:起因是因?yàn)槭谴蜷_閃光燈的時候举瑰,有些設(shè)備不支持閃光燈導(dǎo)致崩潰。比如ipad不支持閃光燈蔬螟,解決方法如下此迅。
解決方法:
- (void)switchFlashDeviceWithOn:(BOOL)on {
// 更改設(shè)置的時候必須先鎖定設(shè)備,修改完后再解鎖,否則崩潰
[self.flashDevice lockForConfiguration:nil];
// 判斷設(shè)備是否支持閃光燈
if ([self.flashDevice hasFlash]) {
if (on) {
[self.flashDevice setTorchMode:AVCaptureTorchModeOn];
} else {
[self.flashDevice setTorchMode:AVCaptureTorchModeOff];
}
}else {
DLog(@"該設(shè)備不支持閃光燈")
}
// 修改完畢解鎖
[self.flashDevice unlockForConfiguration];
}