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位 | - |
12008 | SDK 正在提供服务 | 连续调用了 SDK 的启动方法 |
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
错误码 | 描述 | 详细实际原因 |
其他错误码 | 透传后台错误码 | - |