iOS接入

本文结合代码示例介绍信息核验-身份核验产品方案的iOS接入流程。

前提条件

  • 系统版本:iOS 9.0 及以上

  • 支持语言:Objective-C、Swift

配置开发环境

  1. info.plist中配置摄像头和相册权限

    image.png

  2. Xcode编译设置的Linking > Other Linker Flags中,添加设置-ObjC

    image.png

配置依赖

下载 AliyunMetaVerify.zip,并解压。您需要在Xcode -> Link Binary With Libraries 中添加SDK中的5个包和必要的系统库依赖。

  • SDK中的包:

    MNN.framework
    AliyunOSSiOS.framework
    AliyunMetaVerifyFacade.framework
    AliyunMetaVerifyOCR.framework
    AliyunMetaVerifyUtils.framework
  • 系统包:

    CoreML.framework
    CoreVideo.framework
    CoreMotiton.framework
    AdSupport.framework
    SystemConfiguration.framework
    CoreTelephony.framework
    Accelerate.framework
    libz.tbd
    libresolv.tbd
    libc++.tbd
    libsqlite.tbd

拷贝资源文件

选择TARGETS,单击Build Phases页签,在Copy Bundle Resources中添加以下bundle:

  • AliyunMetaVerifyFacade.bundle:位于AliyunMetaVerifyFacade.framework中。

  • AliyunMetaVerifyOCR.bundle:位于AliyunMetaVerifyOCR.framework中。

image.png

调用SDK

引入头文件

#import <AliyunMetaVerifyFacade/AliyunMetaVerifyFacade.h>

初始化SDK

- (BOOL)application:(UIApplication)application didFinishLaunchingWithOptions:(NSDictionary)launchOptions {
    [[AliyunMetaVerifyFacade sharedInstance] install];
}

获取MetaInfo数据

[[AliyunMetaVerifyFacade sharedInstance] getMetaInfo];

调用SDK开始认证

重要

调用此方法前,请确认您已将 MetaInfo 传递至服务端,并通过 InitCardVerify 接口获取了 certifyId

[[AliyunMetaVerifyFacade sharedInstance] verifyWithCertifyId:certifyId withCurrentViewController:self withExtParams:nil complete:^(AliyunMetaVerifyRes *response) {
    NSLog(@"Code=%d Message=%@", response.code, response.message);
}];
  • 参数说明:

    名称

    类型

    说明

    certifyId

    NSString

    调用服务器端的InitCardVerify接口获取。

    viewController

    UIViewController

    客户端App当前的ViewController。

    extParams

    NSDictionary

    预留拓展字段,传nil即可。

    complete

    AliyunMetaVerifyRes

    认证结束回调,包含认证结果。返回码可以在下表中查询。

  • 返回码表:

    错误码

    是否计费

    结果码描述

    1000

    用户完成了认证过程,认证建议结果为通过。该结果仅供参考,可通过调用服务端CheckResult接口获取最终认证结果,进行下一步处理。

    1001

    用户完成了认证过程,认证建议结果为未通过。该结果仅供参考,可通过调用服务端CheckResult接口获取最终认证结果、未通过的详细原因,进行下一步处理。

    1002

    表示系统错误。

    1003

    表示SDK初始化失败,请确认客户端时间是否正确。

    1004

    表示摄像头错误。请参考以下步骤尝试解决:

    1. 在认证前请先确保App已获取到相机权限。

    2. 如已授权仍提示无权限,请尝试清除App缓存后重试。

    1005

    表示网络错误。

    1006

    表示用户退出。

    1007

    表示certifyId无效。

    1009

    表示客户端时间戳错误。

    1011

    表示提交证件类型错误。

    1012

    表示识别出的证件关键信息缺失或格式校验失败。

    1013

    表示图片质量不佳。

    1014

    表示错误次数超出上限。

Demo代码包

您可以下载AliyunMetaVerifyDemo.zip进行体验。