microblink/blinkid-ios
Everything you need to add AI-driven ID scanning into your native iOS app.
BlinkID SDK (iOS)
What it is – A commercial Swift SDK that lets iOS apps capture, analyse and extract data from a wide range of identity documents (passports, driver’s licences, ID cards, etc.). The heavy‑lifting is done by on‑device AI models that recognise document layouts, MRZ, bar‑codes and visual fields.
Key components
- BlinkIDSdk – entry point that loads the licence key, downloads or bundles the required AI models, and creates scanning sessions.
- BlinkIDSession – per‑scan object that receives camera frames (
InputImage) and returns aFrameProcessResultcontaining low‑level analysis and, when ready, a fullBlinkIDScanningResult. - ScanningSettings – lets you enable/disable modules (document capture, MRZ, barcode, VIZ) and tweak image‑quality thresholds (blur, glare, lighting, tilt).
- BlinkIDUX – an optional SwiftUI‑ready UI package that provides a ready‑made camera view (
BlinkIDUXView) and anBlinkIDAnalyzerthat wires the core SDK to the UI. It also exposes per‑frame completeness information so you can decide when to advance the scan. - Resource management – the SDK can download models OTA, bundle them in the app, or clear the cache.
How you use it
- Add the package via Swift Package Manager (or manually embed the
BlinkID.xcframework). - Initialize with your licence key:
let settings = BlinkIDSdkSettings( licenseKey: "YOUR‑KEY", resourcesConfiguration: ResourcesConfig(download: true) ) let sdk = try await BlinkIDSdk.createBlinkIDSdk(withSettings: settings) - Create a session and feed it images:
let session = await sdk.createScanningSession() let result = await session.process(inputImage: capturedImage) if result.processResult?.inputImageAnalysisResult.processingStatus == .success { let final = await session.getResult() // final contains extracted fields like name, document number, MRZ, etc. } - Or use the UI package – instantiate
BlinkIDAnalyzerand dropBlinkIDUXViewinto your SwiftUI hierarchy. The view handles camera access, live feedback and returns ascanningResultStateclosure with the current result.
Why it matters – Document verification is a common bottleneck in onboarding, KYC, travel and access‑control apps. BlinkID provides:
- On‑device AI – no need to send images to a server, preserving privacy and reducing latency.
- Broad document support – the README links to a list of all supported IDs.
- Modern Swift – built with Swift 6, concurrency (
async/await) and SwiftUI integration.
Typical use‑cases
- Mobile banking apps that need to capture passports or driver’s licences for KYC.
- Airline or border‑control apps that scan travel documents.
- Retail or hospitality solutions that verify age‑restricted IDs.
Getting started – Clone the repo, open the Samples folder, run the sample app on a device, and follow the quick‑start guide in the README.
All details above are taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project
- Project