# IOS 慧眼身份核验SDK
版本历史
时间 | 版本 | 描述 | 作者 |
---|---|---|---|
2021/10/15 | 1.1.1 | 优化了底层算法,提高了安全性和识别速度;优化了人工核验时的提示信息; | lyy |
# 1、简介
# 1·1 功能介绍
慧眼SDK iOS 版是一种面向iOS移动设备人脸技术开发包,此版SDK包含短信验证、OCR身份证验证、活体识别等功能。基于该方案,开发者可以轻松的构建包含短信验证、OCR身份信息核验、人脸采集和活体识别的应用。在您使用SDK之前,我们首先为您介绍一下SDK本身及相关人脸能力,以便您能更方便使用。
此版SDK所包含的能力如下:
·活体检测 通过让用户做出指定人脸配合式的交互动作,识别当前操作者是否为活体,此功能为离线使用,可设定指定动作是否使用及应用顺序。动作包含:眨眼、张嘴、右摇头、左摇头、向上抬头、向下低头六个。可有效抵御高清图片、3D建模、视频等攻击。
·授权: SDK的授权判断,授权介质也称为license,在SDK使用中,需要通过license向授权服务器发起请求,判断SDK的使用合法性及使用有效期。
下载地址
点击立即下载识蛛慧眼 IOS SDK# 1.2 兼容性
·系统: 支持iOS8以上系统。需要开发者通过Deployment Target 来保证支持系统的检测。 ·机型: 手机和平板皆可 ·网络: 支持 WIFI 及移动网络,移动网络支持使用 NET 网关及WAP 网关(CMWAP、CTWAP、UNIWAP、3GWAP)。
# 1·3 开发包说明
# 2、集成指南
# 2·1 准备工作
· 申请license: 此license用户活体检测功能使用。
· 申请认证会话Token: 通过在慧眼管理端配置,每次进入SDK都要重新获取。
# 2.2配置授权信息集成
//人脸license文件名
#define FACE_LICENSE_NAME @"idl-license"
//人脸license文件后缀
#define FACE_LICENSE_SUFFIX @"face-ios"
您申请的应用名称(appname)+「-face-ios」后缀,如申请的应用名称(appname)为test123,则此处填写test123-face-ios)
#define FACE_LICENSE_ID @"spider-hy-identity-face-ios"
配置好证书,即可运行。注意已经设置好的Bundle ID不要随意改动
# 2.3 添加SDK到工程
# 1 、SDK包中以下三个文件 拖至项目中
· LiveDetectionSDKFrame.framework
·com.baidu.idl.face.model.faceSDK.bundle
· com.baidu.idl.face.faceSDK.bundle
· com.baidu.idl.face.live.action.image.bundle
# 2、选择添加链接C++标准库
libc++.tbd
如果没有使用Pod管理第三方库的话,请在请在Build Setting >Linking > Other Linker Flags 上面加入 –ObjC 选项。如果用了pod请忽略,因为pod会自动添加上。
# 2.4 添加依赖库
- 添加依赖库,选择
TARGETS -> Build Phases ->Link Binary With Libraries -> Add Files,选择LiveDetectionSDKFrame.framework Frameworks文件下的IDLFaceSDK.framework
如下图所示:
![](/images/ios/QQ20210924-112611.png)
- 动态库配置
修改Xcode的配置参数 如图
![](/images/ios/2024031106.png)
# 2.5 权限声明
需要使用相机权限:编辑Info.plist文件,添加
Privacy- Camera Usage Description 的Key值,Value为使用相机时候的提示语,可以填写:『使用相机』。
# 3、功能使用
# 3.1 SDK配置
在Appdelegate.m 文件 **-(BOOL)application:(UIApplication )applicationdidFinishLaunchingWithOptions:(NSDictionary )launchOptions 调用以下代码
NSString* licensePath = [NSString stringWithFormat:@"%@.%@", FACE_LICENSE_NAME, FACE_LICENSE_SUFFIX];
[UnitidLiveSDKManager setLicenseID:FACE_LICENSE_ID andLocalLicenceFile:licensePath];
# 3.2 获取SDK版本号
在UnitidLiveSDKManager.h
类中调用 getVersion
方法[UnitidLiveSDKManager getVersion]
获取当前SDK版本号
# 3.3 SDK调用
# 3.3.1 个人认证
LivingConfigModel 为活体配置参数类,未做配置时,SDK会默认
LivingConfigModel *model = [LivingConfigModel sharedInstance];
model.isByOrder = YES;
model.liveActionArray = [NSMutableArray arrayWithArray:@[@1,@2]];
model.numOfLiveness = 2;
model.token = @"23dd4db660309ef34d21579cc24e746601bc42002c3661aa8eff9640e227bbac";
UnitidVerificatedViewController *vertificateVC = [[UnitidVerificatedViewController alloc] init];
vertificateVC.delegate = self;
// 核验结果代理回调
[self.navigationController pushViewController:vertificateVC animated:YES];
其中token为必填项,姓名、手机号、身份证号为选填,当姓名、手机号、身份证号码有值时,优先选择填写的内容作为核验参数,且不可修改。liveActionArray
为所选动作数组,默认为眨眼动作(为提供用户更好的用户体验,选择单个动作即可)。
# 3.3.2 企业认证
LivingConfigModel 为活体配置参数类,需配置token
LivingConfigModel *model = [LivingConfigModel sharedInstance];
model.isByOrder = YES;
model.liveActionArray = [NSMutableArray arrayWithArray:@[@1,@2]];
model.numOfLiveness = 2;
model.token = _tokenTextField.text;
SpiderBridgeViewController *spiderVC = [[SpiderBridgeViewController alloc] init];
spiderVC.delegate = self;
[self.navigationController pushViewController:spiderVC animated:YES];
token为必填项;navColor为导航栏字体颜色。
注意事项:企业认证上传资料功能中文件类型需开启iCloud功能;文件大小限制见应用创建后台设置。
# 3.4 SDK结果回调
# 3.4.1 个人代理回调
/*
* 认证结果返回
*/
- (void)hyLivenessDetectionControllerDidGetResult:(SpiderIDResultCode)result;
typedef NS_ENUM(NSUInteger, SpiderIDResultCode) {
SpiderIDCodeOK = 0, //成功
SpiderIDCodeMANUAL_AUDIT = 1, //提交人工审核成功
SpiderIDCodeCANCEL = 2, //取消
SpiderIDCodeINVAILD_TOKEN = 3, //无效的token
SpiderIDCodeINVAILD_TPAGETOKEN = 4, //获取页面会话token失败
SpiderIDCodeINVAILD_FAILURE = 5, //其他失败
};
# 3.4.2 企业认证代理回调函数
/*
企业认证结果回调
*/
- (void)spiderEntAuthenticControllerDidGetResult:(SpiderEntResponseCode)result;
SpiderEntResponseCode 为枚举类型
SpiderEntResponse_Action = 0, //认证中
SpiderEntResponse_Over = 1, //认证完成
SpiderEntResponse_Invalid = 2, // 认证失效
SpiderEntResponse_Error = 3, // 其他错误
# 3.5 问题与解决⽅案
# 1、
![](/images/ios/202403111.png)
解决⽅案 :
![](/images/ios/2024031102.png)
# 2、线上审核Bundle⽂件通不过问题修复
(1) 删除com.baidu.idl.face.faceSDK.bundle中的⽂件 A:com.baidu.idl.face.faceSDK B: Info.plist 如下图所示
![](/images/ios/2024031103.png)
(2)删除com.baidu.idl.face.live.action.image.bundle中的 ⽂件A: com.baidu.idl.face.live.action.image ⽂件B:Info.plist 如下图所示:
![](/images/ios/2024031104.png)
(3)删除com.baidu.idl.face.model.faceSDK.bundle中的 ⽂件A: com.baidu.idl.face.model.faceSDK ⽂件B:Info.plist 如下图所示:
![](/images/ios/2024031105.png)