// the find
hyperoslo/BarcodeScanner
:mag_right: A simple and beautiful barcode scanner.
A UIKit wrapper around AVFoundation that gives you a ready-made barcode/QR scanning screen with built-in states for scanning, processing, and permission errors. Useful if you want a drop-in scanner UI without writing the AVCaptureSession boilerplate yourself, aimed at iOS apps still on UIKit.
Zero external dependencies, so you're not pulling in a dependency tree for something this small. The three-delegate split (code, error, dismissal) keeps the integration surface small and each callback does one thing. It handles camera permission states and shows a built-in error/retry UI instead of leaving you to build that flow from scratch. Localized into ten languages out of the box, which most scanner wrappers skip.
Last pushed mid-2024 and the README still badges Swift 4.0 and Travis CI, both long dead signals that nobody's actively maintaining the docs even if the code technically still builds. UIKit-only with no SwiftUI wrapper, so in a SwiftUI app you're writing the UIViewControllerRepresentable glue yourself. No Tests directory in the repo, which is a real gap for something that has to handle permission edge cases across iOS versions. And since iOS 16 shipped DataScannerViewController as a system framework, the core reason to pull in a third-party scanner library is shrinking for anyone targeting recent iOS.