confirm-iOS-SnapFill-SDK 0.3.2

confirm-iOS-SnapFill-SDK 0.3.2

许可证 自定义
发布最新发布2017年12月

Greg Peet 维护。



  • Confirm.io

Confirm SnapFill SDK

Confirm.io 的 SnapFill SDK 可以读取和解析州和联邦政府发放的身份证明文件中的数据,以便在您的应用程序中使用。只需将 SDK 添加到您的应用程序中,插入由 Confirm.io 提供的 API 密钥,并允许您的应用程序用户开始扫描他们的身份证明!一旦扫描完成,数据不仅可以用于填充表单,还可以触发自动注册、用户身份验证、营销活动等等!

Confirm SnapFill 支持包括驾照、身份证等在内的多种文档类型。此外,Confirm SnapFill 提供了美国颁发的文件的完整覆盖。

使用方法

注意:如果您第一次使用 Confirm SnapFill,请在末尾部分参考有关 **选择正确的 SDK 配置** 和 运行示例 的信息。

Confirm 的 SnapFill SDK 提供了一个名为 SnapFill 的单例对象,该对象用作框架功能的入口点。

配置

第一步是使用您从 Confirm.io 收到的 API 密钥验证 SnapFill 对象。这将移除默认扫描 UI 上的水印,并允许您设置自己的自定义扫描覆盖。您可以调用带有您的 API 密钥和可选完成代码块的 configure:completion: 来这样做。我们强烈建议将您的 API 密钥存储在 AppDelegate 的实现中,而不是属性列表中,并在 application:didFinishLaunchingWithOptions: 中调用 configure:

#import <ConfirmSnapFill/ConfirmSnapFill.h>

NSString *const SnapFillToken = @"{YOUR_API_KEY_HERE}";

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [[SnapFill sharedInstance] configure:SnapFillTokenToken completion:nil];
    …
}

@end

扫描

为了开始扫描,您必须将 CSFScanViewController 预现到视图层次结构中。从另一个视图控制器初始化并显示 CSFScanViewController 的最简单方法是以下方法

#import <ConfirmSnapFill/ConfirmSnapFill.h>

@implementation MyViewController

- (IBAction)beginScan {
  CSFScanViewController *scanViewController = [[SnapFill sharedInstance] scanLicenseWithCompletion:^(CSFIdModel *license) {
    // Dismiss scanViewController
    // Handle ID information stored in `license`
  }];

  [self presentViewController:scanViewController animated:true completion:nil];
}

@end

这将显示具有默认扫描器 UI 的相机视图。当扫描器检测到正确的条形码类型(PDF417)时,它将自动扫描并调用完成代码块。请确保在完成代码块中关闭扫描仪。

响应扫描

如您上述所见,我们在初始化 CSFScanViewController 时传递了一个完成代码块。该完成代码块将一个 CSFIdModel 作为其输入。该模型包含刚刚扫描的条形码中存储的所有个人详细信息。

使用 CSFScannerDelegate

您可以选择手动实现CSFScannerDelegate协议,而不是使用完成块。以下是一个示例。

#import <ConfirmSnapFill/ConfirmSnapFill.h>

@interface MyViewController () <CSFScannerDelegate>
@end

@implementation MyViewController

- (IBAction)beginScan {
  CSFScanViewController *scanViewController = [CSFScanViewController new];
  scanViewController.delegate = self;

  [self presentViewController:scanViewController animated:true completion:nil];
}

- (void)didScanLicense:(CSFIdModel *)license {
  // Dismiss view controller
  // Handle ID information stored in `license`
}

@end

自定义覆盖层

如果您想使用默认扫描视图覆盖层以外的其他内容,您可以在CSFScanViewController上手动设置overlayView属性,如下面的示例所示。

CSFScanViewController *scanViewController = [CSFScanViewController new];
scanViewController.overlayView = [MyOverlayView new];

如果未看到覆盖视图发生变化,请首先确保库已经正确认证。如果尝试在认证之前调用setOverlayView:,也会记录一条消息。

选择正确的 SDK 配置

提供了两个 SDK 框架配置。它们分别包含在其各自的文件夹中

  • Debug - 可以使用此框架与设备和模拟器。
  • Release - 此框架经过优化,只能在设备上工作。提交应用程序时必须使用发行版本框架。

调试 SDK 和发行版 SDK 名称 相同。这样是为了方便。为了区分框架,您可以执行以下操作之一

  • 查看框架内容。模拟器框架将包含一个标记文件,命名为FOR DEBUG。发行版框架将包含一个类似的标记文件,命名为FOR RELEASE;或者
  • 在终端中,导航到包含框架的文件夹,并输入:lipo -info ConfirmSnapFill.framework/ConfirmSnapFill。您将看到 ARM (发行版) 或 x86/i386 (模拟器) 架构。

运行示例

本存储库包含一个示例项目,可以作为您自己实现的良好参考。包括 Objective-C 和 Swift 示例。

  • 对于 Objective-C,选择Sample文件夹。打开ConfirmSnapFillSample.xcodeproj项目文件。
  • 对于 Swift,选择SwiftSample文件夹。打开SwiftSample.xcodeproj项目文件。

使用Cmd+R构建并运行演示应用程序。