閃光燈使用時崩潰[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];

}
相關文章
相關標籤/搜索