diff --git a/packages/react-native-data-scanner/ios/DataScannerScanSession.swift b/packages/react-native-data-scanner/ios/DataScannerScanSession.swift index f87e3ab..c9ef6c7 100644 --- a/packages/react-native-data-scanner/ios/DataScannerScanSession.swift +++ b/packages/react-native-data-scanner/ios/DataScannerScanSession.swift @@ -65,6 +65,25 @@ final class DataScannerScanSession: NSObject, DataScannerViewControllerDelegate, @MainActor func dataScanner(_ dataScanner: DataScannerViewController, didTapOn item: RecognizedItem) { + finish(with: item) + } + + @MainActor + func dataScanner( + _ dataScanner: DataScannerViewController, + didAdd addedItems: [RecognizedItem], + allItems: [RecognizedItem] + ) { + for item in addedItems { + if case .barcode = item { + finish(with: item) + return + } + } + } + + @MainActor + private func finish(with item: RecognizedItem) { switch item { case .barcode(let barcode): do {