出现如下错误:
*** -[AVCaptureDevice setTorchMode:] The passed torchMode 1 is not supported - use -isTorchModeSupported: to discover valid torch modes
原因是因为你的设备不支持闪光灯,例如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]; }