microblink/blinkid-ios

Everything you need to add AI-driven ID scanning into your native iOS app.

BlinkID SDK (iOS)

是什么 – 一款商业 Swift SDK,让 iOS 应用能够捕获、分析并提取各种身份证件(护照、驾照、身份证等)中的数据。核心工作由设备端 AI 模型完成,这些模型可识别文档布局、MRZ、条形码和视觉字段。

主要组件

  • BlinkIDSdk – 入口点,负责加载许可证密钥、下载或捆绑所需 AI 模型,并创建扫描会话。
  • BlinkIDSession – 每个扫描的对象,接收相机帧(InputImage)并返回包含低级分析的 FrameProcessResult,准备就绪时返回完整的 BlinkIDScanningResult。
  • ScanningSettings – 允许您启用/禁用模块(文档捕获、MRZ、条形码、VIZ)并调整图像质量阈值(模糊、眩光、光照、倾斜)。
  • BlinkIDUX – 一个可选的 SwiftUI 准备就绪的 UI 包,提供现成的相机视图(BlinkIDUXView)和将核心 SDK 连接到 UI 的 BlinkIDAnalyzer。它还暴露了每帧完整性信息,以便您决定何时推进扫描。
  • 资源管理 – SDK 可以通过 OTA 下载模型、将它们捆绑在应用中,或清除缓存。

如何使用

  1. 添加包 – 通过 Swift Package Manager(或手动嵌入 BlinkID.xcframework)。
  2. 初始化 – 使用您的许可证密钥:
    let settings = BlinkIDSdkSettings(
        licenseKey: "YOUR‑KEY",
        resourcesConfiguration: ResourcesConfig(download: true)
    )
    let sdk = try await BlinkIDSdk.createBlinkIDSdk(withSettings: settings)
    
  3. 创建会话 并为其提供图像:
    let session = await sdk.createScanningSession()
    let result = await session.process(inputImage: capturedImage)
    if result.processResult?.inputImageAnalysisResult.processingStatus == .success {
        let final = await session.getResult()
        // final 包含提取的字段,如姓名、证件号码、MRZ 等
    }
    
  4. 或者使用 UI 包 – 实例化 BlinkIDAnalyzer 并将 BlinkIDUXView 放入您的 SwiftUI 层次结构中。该视图处理相机访问、实时反馈,并返回带有当前结果的 scanningResultState 闭包。

为什么重要 – 文档验证是入职、KYC、旅行和访问控制应用中的常见瓶颈。BlinkID 提供:

  • 设备端 AI – 无需将图像发送到服务器,保护隐私并减少延迟。
  • 广泛的文档支持 – README 链接到所有受支持 ID 的列表。
  • 现代 Swift – 使用 Swift 6、并发(async/await)和 SwiftUI 集成构建。

典型使用场景

  • 需要捕获护照或驾照进行 KYC 的移动银行应用。
  • 扫描旅行文档的航空公司或边境控制应用。
  • 验证年龄限制 ID 的零售或酒店解决方案。

入门指南 – 克隆仓库,打开 Samples 文件夹,在设备上运行示例应用,并遵循 README 中的快速入门指南。


以上所有细节均直接取自仓库的 README,未推断任何其他功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目