本文指导您在 iOS 应用中集成金融级实人认证服务。

前提条件

  • 必须在 iOS 8.0+ 平台上运行。
  • 您必须采用 Objective C++ 集成金融级实人认证服务。
  • 您的应用中已集成支付宝支付 SDK。

背景信息

如果您无法通过iOS 客户端接入中指导的步骤完成集成,可参考以下步骤在 iOS 应用中集成金融级实人认证服务。

获取 SDK

请根据您使用的 Xcode 的版本选择对应的实人认证 SDK 版本:
  • 如果您使用的是 Xcode 10,请使用 1.0.5 版本的 SDK。点击即可下载对应版本的 SDK
  • 如果您使用的是 Xcode 11,请使用 1.0.7 版本的 SDK。点击即可下载对应版本的 SDKcode demo
您可以在这个文件的注释中确认您使用的 SDK 的版本号:AlipayVerifySDK.framework/Headers/APVerifyService.h

开发环境配置

  1. info.plist 中配置摄像头权限请求。
    摄像头权限
  2. Xcode 的编译设置中关闭 Bitcode 选项。
    关闭Bitcode
  3. Xcode 编译设置的 Linking > Other Linker Flags 中,添加设置 -ObjC -framework "BioAuthAPI" -lxml2
    添加设置
  4. Xcode 调试设置的 Edit Scheme > run > Options 中禁用 Metal API Validation
    禁用设置

添加 framework 文件和 bundle 文件

注意 步骤 1 和步骤 3 是开发过程中的必须步骤,请勿忽略。
  1. 引入 SDKframeworks 文件夹下所有的 framework 到工程之中。
    framework
  2. 引入 mPaaS 库。
    说明 若已引入,请忽略此步骤,执行下一步。
    mPaaS
  3. 找到并拷贝以下四个 bundle 文件,并将其手动链接到工程。bundle 文件在同名的 framework 文件中。
    选择 TARGETS,单击 Build Phases 标签页,在 Copy Bundle Resources 中添加如下四个 bundle:
    • APBToygerFacade.bundle:位于 APBToygerFacade.framework
    • ToygerService.bundle:位于 ToygerService.framework
    • BioAuthEngine.bundle:位于 BioAuthEngine.framework
    • AlipayVerifyBundle.bundle:位于framework
    bundle
  4. 添加系统库。
    Linked Framweworks and Libraries 中添加如下 iOS 系统库:添加系统库
  5. 添加支付宝认证库。
    支付宝认证库

调用API

引用头文件

#import<AlipayVerifySDK/APVerifyService.h>

调用 startVerifyService

[[APVerifyService sharedService] startVerifyService:@{@"url": url,
                                                      @"certifyId": @"test-certifyId"
                                                      } target:self block:^(NSMutableDictionary * resultDic){
    NSLog(@"%@", resultDic);
}];

输入参数

参数名称 参数说明
options 包含两个参数:
  • 认证 url。该参数从应用服务端获得。
  • 本次认证的认证 ID。该参数从应用服务端获得。
@"certifyId": @"test-certifyId",// 认证流水号,从商家服务端获得
@{
@"url":url?:@"",
@"certifyId": @"test-certifyId",
}
targetVC 当前 controller,必须有根 navigationController,且需要隐藏 navigationBar 再进入 SDK,回来后恢复,因为 SDK 内部已有自定义 navigationBarView
block 返回的结果,在 resultDic 里面获取。

返回结果

回调函数带入的参数形式如下:

result: {resultStatus: 'xx',  
         result: { }
        }
参数 类型 描述
resultStatus String 认证结果状态码,详见 ResultStatus 枚举定义。
result.certifyId String 本次认证的认证 ID。
result.errorCode String 业务错误码。

ResultStatus 枚举定义如下:

状态码 描述
9000 认证通过。
6002 网络异常。
6001 用户取消了认证流程,主动退出。
4000 系统异常。

接入 mPaaS 网络拦截器

拦截器类 ZolozMobileInterceptor.h 已包含在 SDK 中。

请联系技术支持获取拦截器配置指导。