Сбой передней камеры при включении вспышки для пользовательской камеры?

Я попытался включить/выключить вспышку для камеры в пользовательском приложении для камеры, я пытаюсь это сделать, но камера продолжает падать при включении вспышки в режиме фронтальной камеры на iPhone 6. Любая помощь приветствуется. Спасибо.

if ((currentCamera?.hasFlash)!) {
    do {
        _ = try currentCamera?.lockForConfiguration()
    } catch {
        print("aaaa")
    }

    if (currentCamera?.isTorchActive)! {
        sender.setImage(UIImage(named: "flashOff"), for: .normal)
        currentCamera?.torchMode = AVCaptureDevice.TorchMode.off
    } else {
        // sets the torch intensity to 100%
        do {
            sender.setImage(UIImage(named: "flash"), for: .normal)
            _ = try currentCamera?.setTorchModeOn(level: 1.0)
        } catch {
            print("bbb")
        }
        //    avDevice.setTorchModeOnWithLevel(1.0, error: nil)
    }
    // unlock your device
    currentCamera?.unlockForConfiguration()
}

person ashin asok    schedule 18.09.2018    source источник


Ответы (1)


Без дробления лога сложно ответить.

//this code works for me. 

if ([self.captureDevice isFlashAvailable]) {
    if (self.captureDevice.flashActive) {
        if([self.captureDevice lockForConfiguration:nil]) {
            self.captureDevice.flashMode = AVCaptureFlashModeOff;
            [sender setTintColor:[UIColor grayColor]];
            [sender setSelected:NO];
        }
    }
    else {
        if([self.captureDevice lockForConfiguration:nil]) {
            self.captureDevice.flashMode = AVCaptureFlashModeOn;
            [sender setTintColor:[UIColor blueColor]];
            [sender setSelected:YES];
        }
    }
    [self.captureDevice unlockForConfiguration];
}
person Supran Jowti    schedule 18.09.2018
comment
что произошло, когда произошла авария. Я имею в виду, есть ли какие-то причины? или не могли бы вы отлаживать строку за строкой, чтобы вы могли узнать строку, в которой происходит столкновение. - person Supran Jowti; 18.09.2018