Я включил сканер QR-кодов, и он отлично работает, но проблема не может закрыть камеру после успешного сканирования. Здесь, в моем коде, я хочу закрыть камеру, если я нажму кнопку подтверждения ... Пожалуйста, помогите мне Спасибо !!
@objc func scanButtonTapped(sender: UIButton) {
let session = AVCaptureSession()
let captureDevice = AVCaptureDevice.default(for: .video)
do {
let input = try AVCaptureDeviceInput(device: captureDevice!)
session.addInput(input)
} catch {
self.view.makeToast("Sorry Scanner is not working!")
}
let output = AVCaptureMetadataOutput()
session.addOutput(output)
output.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)
output.metadataObjectTypes = [AVMetadataObject.ObjectType.qr]
video = AVCaptureVideoPreviewLayer(session: session)
video.frame = view.layer.bounds
view.layer.addSublayer(video)
session.startRunning()
}
func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metadataObjects: [AVMetadataObject], from connection: AVCaptureConnection) {
if metadataObjects != nil && metadataObjects.count != 0 {
if let object = metadataObjects[0] as? AVMetadataMachineReadableCodeObject {
if object.type == AVMetadataObject.ObjectType.qr {
let alert = UIAlertController(title: "QR Code", message: object.stringValue, preferredStyle: .alert)
alert.addAction(UIAlertAction(title:"Retake", style: .default, handler: nil))
alert.addAction(UIAlertAction(title:"Confirm", style: .default, handler: { (nil) in
self.scannedCode = object.stringValue!
}))
present(alert, animated: true, completion: nil)
}
}
}
}