有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
SDK 在登录以及返回人脸服务结果时,如果发生错误或者识别失败会返回 WBFaceError 对象,该对象的结构如下,并且在判断具体错误时,需要先根据 domain 字段判断错误发生在 sdk 服务运行中的位置,然后根据 code 判断具体的错误:
NS_ASSUME_NONNULL_BEGIN
/*
错误 domain 划分成两类:

出现在登录时,通过调用 startXXXX 方法的 failure block 进行回调返回:
WBFaceErrorDomainInputParams、WBFaceErrorDomainLoginNetwork、WBFaceErrorDomainLoginServer


人脸服务结果返回(封装在 WBFaceVerifyResult 中):
WBFaceErrorDomainGetInfo, WBFaceErrorDomainNativeProcess, WBFaceErrorDomainCompareNetwork, WBFaceErrorDomainCompareServer
*/

/* 登录时传入参数有误 */
UIKIT_EXTERN NSString *const WBFaceErrorDomainInputParams;
/* 登录时网络请求错误 */
UIKIT_EXTERN NSString *const WBFaceErrorDomainLoginNetwork;
/* 登录时后台拒绝登录, 具体参考后台 word 版本错误码, 这里直接透传 */
UIKIT_EXTERN NSString *const WBFaceErrorDomainLoginServer;
/* 拉取有效信息时候网络错误 */
UIKIT_EXTERN NSString *const WBFaceErrorDomainGetInfo;
/* native 本地在活体检测中, 某些原因导致错误 */
UIKIT_EXTERN NSString *const WBFaceErrorDomainNativeProcess;
/* 上送后台比对时,网络错误 */
UIKIT_EXTERN NSString *const WBFaceErrorDomainCompareNetwork;
/* 后台比对完成,返回比对结果的错误原因*/
UIKIT_EXTERN NSString *const WBFaceErrorDomainCompareServer;

@interface WBFaceError: NSObject
/**
错误发生的地方, 具体的发生地方由上面定义的 WBFaceErrorDomainXXXX 指定
*/
@property (nonatomic, readonly, copy) NSString *domain;
/**
每个domain中有相应的错误代码, 具体的错误代码见
*/
@property (nonatomic, readonly, assign) NSInteger code; //错误代码
@property (nonatomic, readonly, copy) NSString *desc; //获取本地化描述
@property (nonatomic, readonly, copy) NSString *reason; // 错误出现的真实原因原因
@property (nonatomic, readonly, copy) NSDictionary * _Nullable otherInfo;// 预留接口
@end

若 Domain 为:WBFaceErrorDomainInputParams

错误码
描述
详细实际原因
12000
传入参数为空
传入的参数为空
12001
传入的 keyLicence 不可用
传入的 keyLicence 不可用
12002
身份证格式不正确
身份证格式不正确
12003
使用自带对比源,传入参数错误,非 base64
传入的 srcPhotoString 不是 base64
12004
使用自带对比源,传入参数错误,超过1MB
传入的 srcPhotoString 超过1MB
12005
SDK 资源引入版本不匹配
没有引入资源包或者引入的资源包版本与当前 SDK 版本不匹配
12006
订单号不能为0或者超过32位
-
12007
nonce 字符串位数不为32位
-

Domain 为:WBFaceErrorDomainLoginNetwork

错误码
描述
详细实际原因
22100
网络异常
登录时网络异常(请求未到达后台)
22200
网络异常
登录时后台返回参数有误(请求已到达后台)

Domain 为:WBFaceErrorDomainLoginServer

错误码
描述
详细实际原因
其他错误码
透传后台错误码
例如签名问题等

Domain 为:WBFaceErrorDomainGetInfo

错误码
描述
详细实际原因
32100
网络异常
获取活体类型或光线阈值,网络异常(请求未到达后台)
32200
网络异常
获取活体类型或光线阈值,后台返回参数有误(请求已到达后台)

Domain 为:WBFaceErrorDomainNativeProcess

错误码
描述
详细实际原因
42000
用户取消
回到后台或单击 home 或左上角或上传时左上角取消
42001
网络环境不满足认证需求
无网络或2G 网络
42002
权限异常,未获取权限
相机或麦克风或 read phone 或 external 或 storage
42003
相机运行中出错
-
42004
视频录制中出错
不能存或启动失败或结束失败
42005
请勿晃动人脸,保持姿势
未获取到最佳图片
42006
视频大小不满足要求
视频大小不满足要求
42007
超时
预检测/动作活体
42008
检测中人脸移出框外
活体或反光
42009
光线活体本地错误
-
42010
风险控制超出次数
用户重试太多次
42011
没有检测到读数声音
活体过程中没有发声
42012
模型初始化失败
-
42015
报文解密失败
请求报文解密失败

Domain 为:WBFaceErrorDomainCompareNetwork

错误码
描述
详细实际原因
52100
网络异常
对比时,网络异常(请求未到达后台)
52200
网络异常
对比时,后台返回参数有误(请求已到达后台)

Domain 为:WBFaceErrorDomainCompareServer

错误码
描述
详细实际原因
其他错误码
透传后台错误码
-