闪光灯使用时崩溃[AVCaptureDevice setTorchMode:]

出现以下错误:spa

*** -[AVCaptureDevice setTorchMode:] The passed torchMode 1 is not supported - use -isTorchModeSupported: to discover valid torch modescode

缘由是由于你的设备不支持闪光灯,例如ipad设备,因此须要在闪光灯打开的代码部分先作判断blog

- (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];

}
相关文章
相关标签/搜索