diff --git a/Sources/QRScannerView.swift b/Sources/QRScannerView.swift index 1c1bbe4..432da78 100644 --- a/Sources/QRScannerView.swift +++ b/Sources/QRScannerView.swift @@ -122,7 +122,15 @@ class QRScannerWindowController: NSObject, AVCaptureMetadataOutputObjectsDelegat if session.canAddOutput(output) { session.addOutput(output) output.setMetadataObjectsDelegate(self, queue: .main) - output.metadataObjectTypes = [.qr] + // 检查摄像头是否支持 QR 码识别 + if output.availableMetadataObjectTypes.contains(.qr) { + output.metadataObjectTypes = [.qr] + } else { + DispatchQueue.main.async { [weak self] in + self?.showError("Camera does not support QR code scanning") + } + return + } } let previewLayer = AVCaptureVideoPreviewLayer(session: session)