出现如下错误:

*** -[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];

}

 

posted on 2017-08-23 14:39  fatal-奚山遇白  阅读(583)  评论(0编辑  收藏  举报