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 a FrameProcessResult containing low‑level analysis and, when ready, a full BlinkIDScanningResult.
  • 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 an BlinkIDAnalyzer that 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

  1. Add the package via Swift Package Manager (or manually embed the BlinkID.xcframework).
  2. Initialize with your licence key:
    let settings = BlinkIDSdkSettings(
        licenseKey: "YOUR‑KEY",
        resourcesConfiguration: ResourcesConfig(download: true)
    )
    let sdk = try await BlinkIDSdk.createBlinkIDSdk(withSettings: settings)
    
  3. 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.
    }
    
  4. Or use the UI package – instantiate BlinkIDAnalyzer and drop BlinkIDUXView into your SwiftUI hierarchy. The view handles camera access, live feedback and returns a scanningResultState closure 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