diff --git a/.changes/barcode-scanner-ios-thread.md b/.changes/barcode-scanner-ios-thread.md new file mode 100644 index 00000000..61365bfa --- /dev/null +++ b/.changes/barcode-scanner-ios-thread.md @@ -0,0 +1,6 @@ +--- +barcode-scanner: patch +barcode-scanner-js: patch +--- + +On iOS, start the scanning session on a separate thread to fix performance issues. diff --git a/plugins/barcode-scanner/ios/Sources/BarcodeScannerPlugin.swift b/plugins/barcode-scanner/ios/Sources/BarcodeScannerPlugin.swift index 4ad399da..450c3cf7 100644 --- a/plugins/barcode-scanner/ios/Sources/BarcodeScannerPlugin.swift +++ b/plugins/barcode-scanner/ios/Sources/BarcodeScannerPlugin.swift @@ -286,7 +286,9 @@ class BarcodeScannerPlugin: Plugin, AVCaptureMetadataOutputObjectsDelegate { } self.metaOutput!.metadataObjectTypes = self.scanFormats - self.captureSession!.startRunning() + DispatchQueue.main.async { + self.captureSession!.startRunning() + } self.isScanning = true }