INNER CODE UNIT · Swift
presentScanner
wu9007/qrcode_scanner · ios/Classes/SwiftQrscanPlugin.swift:60
private func presentScanner(color: UIColor? = nil, hint: String? = nil, title: String? = nil) {
let status = AVCaptureDevice.authorizationStatus(for: .video)
if status == .denied || status == .restricted {
finish(errorCode: "PERMISSION_NOT_GRANTED", message: "Camera permission denied")
return
}
if status == .notDetermined {
AVCaptureDevice.requestAccess(for: .video) { [weak self] granted in
DispatchQueue.main.async {
guard let self else { return }
if granted {
self.presentScanner(color: color, hint: hint, title: title)
} else {
self.finish(errorCode: "PERMISSION_NOT_GRANTED", message: "Camera permission denied")
}
}
}
return