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
协议,而不是使用完成块。以下是一个示例。
#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 框架配置。它们分别包含在其各自的文件夹中
Debug
- 可以使用此框架与设备和模拟器。Release
- 此框架经过优化,只能在设备上工作。提交应用程序时必须使用发行版本框架。调试 SDK 和发行版 SDK 名称 相同。这样是为了方便。为了区分框架,您可以执行以下操作之一
lipo -info ConfirmSnapFill.framework/ConfirmSnapFill
。您将看到 ARM (发行版) 或 x86/i386 (模拟器) 架构。本存储库包含一个示例项目,可以作为您自己实现的良好参考。包括 Objective-C 和 Swift 示例。
Sample
文件夹。打开ConfirmSnapFillSample.xcodeproj
项目文件。SwiftSample
文件夹。打开SwiftSample.xcodeproj
项目文件。使用Cmd+R构建并运行演示应用程序。