Request camera permission before QR scanning

This commit is contained in:
yumoqing 2026-06-24 19:25:42 +08:00
parent f220800262
commit e87921b59f

View File

@ -98,6 +98,30 @@ class QRScannerWindowController: NSObject, AVCaptureMetadataOutputObjectsDelegat
// 线
private func setupCaptureOnBackground(previewHost: NSView) {
//
switch AVCaptureDevice.authorizationStatus(for: .video) {
case .notDetermined:
AVCaptureDevice.requestAccess(for: .video) { [weak self] granted in
if granted {
self?.setupCaptureOnBackground(previewHost: previewHost)
} else {
DispatchQueue.main.async {
self?.showError("Camera permission denied")
}
}
}
return
case .denied, .restricted:
DispatchQueue.main.async { [weak self] in
self?.showError("Camera permission denied")
}
return
case .authorized:
break
@unknown default:
break
}
let session = AVCaptureSession()
session.sessionPreset = .high