一、准备工作
概述
本文档是实人人证SDK_iOS v2.0.0 版本的接入文档,用于指导SDK的使用方法,默认读者熟悉Xcode编译器的使用以及iOS编程语言。
前置条件
- SDK版本:V 1.0
- Xcode版本 : V9.4.1及以上版本,iOS9.0 及以上版本。
创建应用
提示:一个应用对应一个appid,多个应用(不同bundleID)需在闪验平台创建多个应用以对应多个appid
应用的创建流程及APPID/APPKEY的获取,请查看「账号创建」文档
快速体验Demo
- 将获取到appkey 、 appid 以及 licenseID 填入 Demo 中sdk 的初始化方法中
- 将demo的bundleId 改为自己的bundleid
- 导入与bundleID 对应的 授权文件 (
idl-license.face-ios
与aip.license
) - 编译运行
开发环境搭建
- 导入framework: 将实人认证SDK压缩包中framework文件夹下所有资源添加到工程中(注意勾选勾选 copyItems if need)
2.配置Xcdoe
- 关闭Bitcode
- Xcode->TARGETS->Build Settings->Linking->Other Linker Flags 添加–ObjC(Swift 工程:Xcode->BuildSeetings->Other Linker Flags 添加 -force_load 并在 -force_load 下方添加 CLRPSDK.framework/CLRPSDK 所在的路径)
- 添加依赖的系统动态库
AVFoundation.framework
libc++.tdb
- 将以下依赖库 设置 为 Embedded Binary
AipBase.framework
AipO crSdk.framework
IdcardQuality.framework
Xcode 11.0 以下版本 设置方式: 在Xcode -> General -> Embedded Binary 中点击+ 依次加入 以上三个 依赖库
Xcode11.0 及以上版本 设置方式:在Xcdoe ->General ->Frameworks,Libraries,and Embedded content 中依次将三个依赖库 设置为Embed & Sign
- 添加摄像头访问权限 pilst字段
3.导入授权文件
- 联系客服获取 授权证书文件 (
idl-license.face-ios
与aip.license
) 文件与app bundleID 绑定 用于调用SDK 授权。 - 文件名称不可更改,直接导入项目即可。
二、SDK调用说明
1.初始化SDK
方法原型
/// 初始化SDK /// @param appid 创蓝平台appid /// @param appKey 创蓝平台appKey /// @param licenseID licenseID /// @param complete 初始化结果 +(void)initWithAppId:(NSString *)appid appKey:(NSString *)appKey licenseID:(NSString *)licenseID complete:(void (^)(NSDictionary * _Nullable result,NSError * _Nullable error))complete;
参数描述
参数 | 是否必填 | 参数类型 | 说明 |
appid | 是 | NSString | 实人认证获取的appID |
appKey | 是 | NSString | 实人认证获取的appKey |
licenseID | 是 | NSString | 由平台对接人员提供 |
complete | 否 | block | 初始化结果回调 |
示例代码
//初始化 [CLRPSDKManager initWithAppId:@"appid" appKey:@"appkey" licenseID:@"licenseID" complete:nil];
方法作用:初始化SDK,请在调用
2.SDK 配置
在调用SDK前可以对SDK 的相关参数进行配置,配置信息详情见 CLRPConfigure
类。以下为配置代码示例
CLRPConfigure *config = [CLRPConfigure new]; //设置活体检测序列(用户自己组合) config.liveActionArray = @[@(CLRPFaceLivenessActionTypeLiveEye),@(CLRPFaceLivenessActionTypeLiveMouth),@(CLRPFaceLivenessActionTypeLiveYaw)].mutableCopy;; config.isByOrder = YES; //设置OCR 识别信息是否可编辑 config.nameOpenEdit = YES; config.idCardOpenEdit = YES; config.addressOpenEdit = YES; [CLRPSDKManager configure:config];
3.调用SDK
SDK返回码对照表(code)
返回码 | 返回码描述 |
1000 | 成功 |
1005 | 身份证正面认证失败 |
1006 | 身份证反面认证失败 |
1007 | 人证核验失败 |
1008 | 身份证二要素验证失败 |
1010 | 用户点击返回 |
1101 | 网络异常 |
1102 | 业务接口报错 |
1103 | 其他错误 |
1104 | 身份证信息识别回调 |
1105 | 身份证正面认证成功 |
1106 | 身份证反面认证成功 |
1107 | 人证核验成功 |
1108 | 身份证二要素核验成功 |
常见问题
- 身份证扫描提示无权限
1. 请检查手机网络是否正常。
2.请确保 权证书文件 和 工程bundleID 一致
- 编译报错
参见Xcode Other Linker Flags 配置项
- 运行报错
参见Xcode Other Linker Flags 配置项
- 运行时报错 app identifier unmatch 错误的BundleID
1.请确保 权证书文件 和 工程bundleID 一致
2.联系客服重新获取 权证书文件 并替换
- 上架APPstore异常
用SDK 内提供的 appstore 架包替换 AipBase.framework 、 AipO crSdk.framework 和IdcardQuality.framework 三个动态库
注意:该架包只适用于真机调试,不适用模拟器