IOS开发文档
更新时间:2026-08-20 13:50:58
一、准备工作
1、概述
本文是活体检测SDK_iOS 端接入文档,用于指导 SDK 的集成使用。
2、创建应用
在创蓝平台注册账号,创建应用并获取 appId 和 appkey
3、开发环境搭建
a.导入FrameWork
将活体检测SDK压缩包中framework中的所有资源添加到工程中,并选择 Copy Items if need 选项


b.配置Xcode
- Xcode->TARGETS->Build Settings->Linking->Other Linker Flags 添加–ObjC

- Xcode->TARGETS->Info添加相机权限访问描述

4、快速体验 demo
- SDK压缩包中的CLRealPersonDemo文件是demo示例源码,可直接运行起来测试。
二、API调用
0. 获取authToken
- 请查看服务端集成文档,调用获取授权Token(authToken)接口,获取authToken为后续步骤做准备。
1、初始化
建议在 Application 的 didFinishLaunchingWithOptions 方法中进行初始化:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... // 控制台log开关 [CLCoreManager printConsoleEnable:YES]; // 设置token,建议在需要使用文档中4,5功能时设置,有效期30分钟 [CLRealPersonManager setToken:@" token "]; // 2.0.0.2之前版本使用: [CLCoreManager initWithAppid:@" appid "]; // 2.0.0.2及之后版本使用: [CLCoreManager initWithAppkey:@" appkey "]; ... return YES; }
注意:在 initWithAppid: 中设置 appId:和在setToken:中设置token。
温馨提示: appId/appkey查看路径,登录开发者平台,右上角点击「应用管理」找到自己的应用,点击后面的「配置」按钮,然后可以看到 appkey(对应SDK中appid、appkey) 了,点击复制按钮即可。token从服务端api获取
2、活体检测
2.1、调用示例
① 先初始化活体检测对象
/// 初始化活体检测对象 /// @param recordView 传入放置检测活体的recordView对象 - (instancetype)initWithRecordView:(UIView *)recordView;
② 在开始活体检测前进行相关参数设置
/// 设置活体检测的超时时间(在开始活体检测之前设置) /// @param timeout 请传入10-120范围内的时间值,单位s - (void)setTimeoutInterval:(NSTimeInterval)timeout; /// 设置活体检测每个动作的时长(在开始活体检测之前设置) /// @param duration 每个动作的时长(1-5s) - (void)setActionDuration:(CGFloat)duration; /// 设置活体检测动作的个数(在开始活体检测之前设置,默认为1-3的随机数 V2.0.0.3+版本默认为1个) /// @param number 动作的个数(1-3) /// @param securityLevel 安全级别:默认为低(随机动作数),高至少为两个动作(会修正number设置数量) - (void)setActionNumber:(NSInteger)number securityLevel:(CLSecurityLevel)securityLevel; /// 设置检测时脸离屏幕距离(在开始活体检测之前设置)V2.0.0.3版本增加 /// @param distance 默认0(-1:稍近,0:正常,1:稍远) - (void)setDistanceNumber:(NSInteger)distance;
③ 开始活体检测
/// 开始活体检测 /// @param actionsHandler 活体检测动作序列号的回调(非主线程) /// @param completionHandler 活体检测结果的回调(非主线程),结果状态见CLStatus枚举类型 - (void)startLiveDetectWithActionsHandler:(CLAcitionsHandler)actionsHandler completionHandler:(CLCompletionHandler)completionHandler; /// 活体检测,视频转发 /// @param urlString 视频转发之后URL或者startLiveDetectWithActionsHandler:返回的url /// @param isReTran 表示是否转发,YES:转发urlString参数值为转发后的url NO:不转发urlString参数值为startLiveDetectWithActionsHandler:中返回的url - (void)resultWithDetectUrl:(NSString *)urlString isReTran:(BOOL)isReTran;
④ 停止活体检测
/// 停止活体检测 /// 调用时机: /// 1、在活体检测结果的回调里调用 /// 2、未完成活体检测,需要中止时调用 (超时不要调用) - (void)stopLiveDetect;
2.2 回调数据说明
① 会在 completionHandler中回调 CLStatus 信息,具体的信息如下表所示:
| CLStatus | 错误信息 | 备注说明 |
|---|---|---|
| CLCheckPass | 活体检测通过 | / |
| CLCheckNotPass | 活体检测不通过 | / |
| CLOperationTimeout | 操作超时,用户未在规定时间内完成动作 | / |
| CLGetConfFaild | 获取配置信息失败 | / |
| CLRecordFaild | 视频录制失败 | / |
| CLOnlineCheckFaild | 请求检测结果失败 | / |
| CLOnlineUploadFaild | 上传图片失败 | / |
| CLSDKError | SDK内部发生错误 | / |
| CLRPVedioNoMate | 人脸动作与提示动作不吻合,请重试 | / |
| CLRPVedioNoFace | 没有检测到人脸,请重试 | / |
| CLRPVedioMoreFace | 检测到有多张人脸,请重试 | / |
| CLRPVideoIllumination | 检测到光线不足,请重试 | / |
| CLRPVedioAngle | 检测到人脸角度有偏差,请重试 | / |
| CLRPVedioBlue | 检测到人脸模糊,请重试 | / |
| CLRPVedioMask | 检测到人脸有遮挡,请重试 | / |
| CLRPVedioSmall | 检测到人脸过于靠近屏幕,请重试 | / |
| CLNetError | 无网络链接 | / |
| CLRPVedioError | 其他错误 | / |
| CLRPNoMoney | 账号余额不足 | V2.0.0.3新增 |
温馨提示: ① 调用活体检测方法之前,请确保已经获取到相机、!!! ② 我们提供了默认的声音文件和 GIF 图片文件,如不满意可以替换,具体逻辑在demo中实现,可任意更改**;**
这篇文档对您有帮助吗?




