wangguolei

fix

No preview for this file type
@@ -25,6 +25,7 @@ NS_ASSUME_NONNULL_BEGIN @@ -25,6 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
25 @property (nonatomic, copy) NSString * faceLivenessRightCheekOccludedText; //右脸颊有遮挡 25 @property (nonatomic, copy) NSString * faceLivenessRightCheekOccludedText; //右脸颊有遮挡
26 @property (nonatomic, copy) NSString * faceLivenessChinOccludedText; //下巴有遮挡 26 @property (nonatomic, copy) NSString * faceLivenessChinOccludedText; //下巴有遮挡
27 @property (nonatomic, copy) NSString * faceLivenessIlliumPoorText; //请使环境光线再亮些 27 @property (nonatomic, copy) NSString * faceLivenessIlliumPoorText; //请使环境光线再亮些
  28 +@property (nonatomic, copy) NSString * faceLivenessIlliumMuchText; //请使环境光线再暗些
28 @property (nonatomic, copy) NSString * faceLivenessblurredText; //请握稳手机,视线正对屏幕 29 @property (nonatomic, copy) NSString * faceLivenessblurredText; //请握稳手机,视线正对屏幕
29 @property (nonatomic, copy) NSString * faceLivenessLeftEyeNotOpenText; //左眼未睁开 30 @property (nonatomic, copy) NSString * faceLivenessLeftEyeNotOpenText; //左眼未睁开
30 @property (nonatomic, copy) NSString * faceLivenessRightEyeNotOpenText; //右眼未睁开 31 @property (nonatomic, copy) NSString * faceLivenessRightEyeNotOpenText; //右眼未睁开
@@ -34,6 +35,8 @@ NS_ASSUME_NONNULL_BEGIN @@ -34,6 +35,8 @@ NS_ASSUME_NONNULL_BEGIN
34 @property (nonatomic, copy) NSString * faceLivenessActionHeadRightText; //向右缓慢转头 35 @property (nonatomic, copy) NSString * faceLivenessActionHeadRightText; //向右缓慢转头
35 @property (nonatomic, copy) NSString * faceLivenessActionHeadUpText; //缓慢抬头 36 @property (nonatomic, copy) NSString * faceLivenessActionHeadUpText; //缓慢抬头
36 @property (nonatomic, copy) NSString * faceLivenessActionHeadDownText; //缓慢低头 37 @property (nonatomic, copy) NSString * faceLivenessActionHeadDownText; //缓慢低头
  38 +@property (nonatomic, copy) NSString * faceLivenessActionUpDownText; //上下点头
  39 +@property (nonatomic, copy) NSString * faceLivenessActionYawText; //左右摇头
37 @property (nonatomic, copy) NSString * faceLivenessScreenWillFlash; //屏幕即将闪烁,请保持正脸 40 @property (nonatomic, copy) NSString * faceLivenessScreenWillFlash; //屏幕即将闪烁,请保持正脸
38 @property (nonatomic, copy) NSString * faceLivenessScreenColorChanging; //变光中,请保持正脸 41 @property (nonatomic, copy) NSString * faceLivenessScreenColorChanging; //变光中,请保持正脸
39 @property (nonatomic, copy) NSString * faceLivenessCompletionText; //非常好 42 @property (nonatomic, copy) NSString * faceLivenessCompletionText; //非常好
@@ -42,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN @@ -42,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
42 @property (nonatomic, copy) NSString * faceLivenessVerifyFailedText; //验证失败 45 @property (nonatomic, copy) NSString * faceLivenessVerifyFailedText; //验证失败
43 @property (nonatomic, copy) NSString * faceLivenessKeepFace; //请保持正脸 46 @property (nonatomic, copy) NSString * faceLivenessKeepFace; //请保持正脸
44 @property (nonatomic, copy) NSString * faceLivenessFaceCovered; //脸部有遮挡 47 @property (nonatomic, copy) NSString * faceLivenessFaceCovered; //脸部有遮挡
  48 +@property (nonatomic, copy) NSString * faceLivenessFaceMoreThan; //检测多个人脸
45 49
46 /* 50 /*
47 初始化方法 51 初始化方法
@@ -70,6 +70,11 @@ NS_ASSUME_NONNULL_BEGIN @@ -70,6 +70,11 @@ NS_ASSUME_NONNULL_BEGIN
70 - (int)uninitCollect; 70 - (int)uninitCollect;
71 71
72 72
  73 +/**
  74 + * 数据埋点通知中心
  75 + */
  76 +- (NSString *)eventTrackerNotification;
  77 +
73 @end 78 @end
74 79
75 NS_ASSUME_NONNULL_END 80 NS_ASSUME_NONNULL_END
@@ -76,14 +76,15 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) { @@ -76,14 +76,15 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) {
76 @property (nonatomic, assign) float leftCheekOcclus; //左脸遮挡置信度 76 @property (nonatomic, assign) float leftCheekOcclus; //左脸遮挡置信度
77 @property (nonatomic, assign) float rightCheekOcclus; //右脸遮挡置信度 77 @property (nonatomic, assign) float rightCheekOcclus; //右脸遮挡置信度
78 @property (nonatomic, assign) float chinOcclus; //下巴遮挡置信度 78 @property (nonatomic, assign) float chinOcclus; //下巴遮挡置信度
  79 +@property (nonatomic, assign) float eyeCloseValue; //质量检测眼睛闭合阈值
79 /* 80 /*
80 【活体阈值】设置范围0-1,推荐阈值0.80 81 【活体阈值】设置范围0-1,推荐阈值0.80
81 阈值越小:较好通过率 82 阈值越小:较好通过率
82 阈值越大:较好防御率 83 阈值越大:较好防御率
83 */ 84 */
84 -@property (nonatomic, assign) float silentLiveThr; // 静默活体阈值  
85 -@property (nonatomic, assign) float LivenessThr; // 动作活体阈值  
86 -@property (nonatomic, assign) float colorLiveThr; // 炫瞳活体阈值 85 +@property (nonatomic, assign) float silentLiveThr; // 静默活体阈值(废弃)
  86 +@property (nonatomic, assign) float LivenessThr; // 动作活体阈值(废弃)
  87 +@property (nonatomic, assign) float colorLiveThr; // 炫瞳活体阈值(废弃)
87 @property (nonatomic, assign) float imageScale; // 原始图缩放比例 88 @property (nonatomic, assign) float imageScale; // 原始图缩放比例
88 @property (nonatomic, assign) int maxCropImageNum; // 设置照片采集张数 89 @property (nonatomic, assign) int maxCropImageNum; // 设置照片采集张数
89 @property (nonatomic, assign) BOOL isCheckMouthMask; // 口罩开关 (此版本没有该功能) 90 @property (nonatomic, assign) BOOL isCheckMouthMask; // 口罩开关 (此版本没有该功能)
@@ -100,34 +101,40 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) { @@ -100,34 +101,40 @@ typedef NS_ENUM(NSInteger, BDFaceColorSelectType) {
100 设置界面参数 101 设置界面参数
101 */ 102 */
102 @property (nonatomic, assign) BOOL isSoundMode; // 声音开关 103 @property (nonatomic, assign) BOOL isSoundMode; // 声音开关
103 -@property (nonatomic, assign) BDFaceLiveSelectType liveSelectMode; // 活体方案  
104 @property (nonatomic, assign) BDFaceColorSelectType colorSelectMode; // 界面外观 104 @property (nonatomic, assign) BDFaceColorSelectType colorSelectMode; // 界面外观
105 @property (nonatomic, assign) BOOL checkAgreeBtn; // 隐私协议开关 105 @property (nonatomic, assign) BOOL checkAgreeBtn; // 隐私协议开关
106 @property (nonatomic, assign) int numOfLiveness; // 活体动作池中有几个动作 (动作选取) 106 @property (nonatomic, assign) int numOfLiveness; // 活体动作池中有几个动作 (动作选取)
107 @property (nonatomic, assign) int actionLiveSelectNum; // 需要从动作活体动作池中抽取几个动作(动作数量) 107 @property (nonatomic, assign) int actionLiveSelectNum; // 需要从动作活体动作池中抽取几个动作(动作数量)
108 -@property (nonatomic, assign) int colorLiveSelectNum; // 需要从炫瞳活体动作池中抽取几个动作(动作数量)  
109 @property (nonatomic, strong) NSMutableArray *liveActionArray; // 动作活体列表 108 @property (nonatomic, strong) NSMutableArray *liveActionArray; // 动作活体列表
110 -@property (nonatomic, strong) NSMutableArray *colorActionArray; // 炫瞳动作列表  
111 @property (nonatomic, strong) NSMutableArray *randomActionLiveActionArray; // 随机动作列表 109 @property (nonatomic, strong) NSMutableArray *randomActionLiveActionArray; // 随机动作列表
112 -@property (nonatomic, strong) NSMutableArray *randomColorLiveActionArray; // 随机动作列表  
113 -@property (nonatomic, assign) BOOL colorLiveMode; // 炫彩动作活体开关  
114 /* 110 /*
115 功能模块 111 功能模块
116 */ 112 */
117 @property (nonatomic, assign) BOOL isCheckColorfulLive; // 炫彩活体 113 @property (nonatomic, assign) BOOL isCheckColorfulLive; // 炫彩活体
118 @property (nonatomic, assign) CGFloat conditionTimeout; // 超时时间 114 @property (nonatomic, assign) CGFloat conditionTimeout; // 超时时间
119 @property (nonatomic, assign) CGFloat intervalOfVoiceRemind; // 语音超时 115 @property (nonatomic, assign) CGFloat intervalOfVoiceRemind; // 语音超时
120 -@property (nonatomic, assign) int imageNum; // 输出图像个数  
121 -@property (nonatomic, assign) float minRectScale; // 人脸过远框比例 默认:0.4 116 +@property (nonatomic, assign) float minRectScale; // 人脸过远框比例 默认:0.3
  117 +@property (nonatomic, assign) float maxRectScale; // 人脸过近框比例 默认:0.5
122 @property (nonatomic, assign) BOOL recordAbility; // 视频录制能力 118 @property (nonatomic, assign) BOOL recordAbility; // 视频录制能力
123 -@property (nonatomic, assign) BOOL colorJudgeAbility; // 炫彩颜色判断能力 119 +@property (nonatomic, assign) BOOL colorJudgeAbility; // 炫彩颜色判断能力(废弃)
124 @property (nonatomic, assign) BOOL isIntoResultView; // 进入结果页面开关 120 @property (nonatomic, assign) BOOL isIntoResultView; // 进入结果页面开关
125 @property (nonatomic, assign) BOOL isOpenRearCamera; // 后置摄像头开关 121 @property (nonatomic, assign) BOOL isOpenRearCamera; // 后置摄像头开关
126 -@property (nonatomic, assign) BOOL isCompressImage; // 是否压缩图片 默认:不压缩  
127 -@property (nonatomic, assign) int compressValue; // 压缩图片大小 默认:0kb 122 +@property (nonatomic, assign) BOOL isCompressImage; // 是否压缩图片 默认:压缩
  123 +@property (nonatomic, assign) int compressValue; // 压缩图片大小 默认:300kb
128 @property (nonatomic, assign) BOOL isPopWindow; // 是否超时弹窗 默认:弹窗 124 @property (nonatomic, assign) BOOL isPopWindow; // 是否超时弹窗 默认:弹窗
129 -  
130 - 125 +@property (nonatomic, assign) int outputImageType; // 返回图片类型 默认:0(原图) 1(抠图)
  126 +@property (nonatomic, assign) BOOL enableUseDefinedCamera; // iOS13及以下版本,是否开启自定义配置,默认NO
  127 +@property (nonatomic, assign) BOOL isStrict; // 眨眼、张嘴动作添加遮挡判断 默认:不严格
  128 +@property (nonatomic, assign) BOOL isLivenessType; // 是否开启动作活体 默认:打开
  129 +@property (nonatomic, assign) BOOL isColorType; // 是否开启炫彩活体 默认:打开
  130 +@property (nonatomic, assign) BOOL isChangeAction; // 是否开启动作失败切换动作 默认:关闭
  131 +@property (nonatomic, assign) BOOL isSaveEventLogs; // 是否开启数据埋点 默认:不开启
  132 +@property (nonatomic, assign) int recordingDuration; // 录制长度,默认60s,范围1~60
  133 +@property (nonatomic, strong) NSString * encryptKeyStr; // 安全加密key设置 默认:idl-key.face-ios
  134 +@property (nonatomic, assign) BOOL enableVideoFileEmpty; // 是否允许录制的视频文件不存在,默认false
  135 +@property (nonatomic, assign) BOOL enableFaceFailVideo; // 是否支持保存检测异常时的视频文件,默认false
  136 +@property (nonatomic, strong) NSString *liveness_languageType; // 初始化语言 默认ZH_CN 目前支持EN英文显示
  137 +@property (nonatomic, assign) BOOL isShowIDCard; // 是否显示个人传入信息 默认不传入
131 138
132 /* 139 /*
133 初始化方法 140 初始化方法
@@ -20,6 +20,8 @@ typedef NS_ENUM(NSInteger, BDFaceCompletionStatusCode) { @@ -20,6 +20,8 @@ typedef NS_ENUM(NSInteger, BDFaceCompletionStatusCode) {
20 BDFaceStatusCameraError = -302, // 没有授权镜头 20 BDFaceStatusCameraError = -302, // 没有授权镜头
21 BDFaceStatusVideoRecordingFail = -303, // 视频录制错误 21 BDFaceStatusVideoRecordingFail = -303, // 视频录制错误
22 BDFaceStatusCropImageError = -305, // 抠图失败 22 BDFaceStatusCropImageError = -305, // 抠图失败
  23 + BDFaceStatusEncryptFail = -311, // 加密失败
  24 + BDFaceStatusSystemVideoFail = -313, // 视频录制失败-系统异常
23 BDFaceStatusTimeout = -401, // 超时 25 BDFaceStatusTimeout = -401, // 超时
24 BDFaceStatusColorMatchFailed = -402, // 炫彩色彩错误 26 BDFaceStatusColorMatchFailed = -402, // 炫彩色彩错误
25 BDFaceStatusVideoColorScoreFailed = -403, // 炫彩分数错误 27 BDFaceStatusVideoColorScoreFailed = -403, // 炫彩分数错误
  1 +//
  2 +// BDFaceDef.h
  3 +// IDLFaceSDK
  4 +//
  5 +// Created by v_renshaolei on 2023/9/11.
  6 +// Copyright © 2023 Baidu. All rights reserved.
  7 +//
  8 +
  9 +typedef NS_ENUM(NSInteger, FaceLivenessActionType) {
  10 + FaceLivenessActionTypeLiveEye = 0,
  11 + FaceLivenessActionTypeLiveMouth = 1,
  12 + FaceLivenessActionTypeLiveYawRight = 2,
  13 + FaceLivenessActionTypeLiveYawLeft = 3,
  14 + FaceLivenessActionTypeLivePitchUp = 4,
  15 + FaceLivenessActionTypeLivePitchDown = 5,
  16 + FaceLivenessActionTypeLiveUpDown = 6, //向下低头
  17 + FaceLivenessActionTypeShakeHead = 7,
  18 + FaceLivenessActionTypeNoAction = 8,
  19 +};
  20 +
  21 +typedef NS_ENUM(NSUInteger, ResultCode) {
  22 + ResultCodeOK,
  23 + ResultCodePitchOutofDownRange, //头部偏低
  24 + ResultCodePitchOutofUpRange, //头部偏高
  25 + ResultCodeYawOutofLeftRange, //头部偏左
  26 + ResultCodeYawOutofRightRange, //头部偏右
  27 + ResultCodeTooBrightIllumination, // 光线过亮
  28 + ResultCodePoorIllumination, //光照不足
  29 + ResultCodeNoFaceDetected, //没有检测到人脸
  30 + ResultCodeFaceMoreThanOneDetected, //检测到多个人脸
  31 + ResultCodeDataHitOne, //采集到一张照片
  32 + ResultCodeDataHitLast, //采集到最后一张照片
  33 + ResultCodeImageBlured, //图像模糊
  34 + ResultCodeOcclusionLeftEye, //左眼有遮挡
  35 + ResultCodeOcclusionRightEye, //右眼有遮挡
  36 + ResultCodeOcclusionNose, //鼻子有遮挡
  37 + ResultCodeOcclusionMouth, //嘴巴有遮挡
  38 + ResultCodeOcclusionLeftContour, //左脸颊有遮挡
  39 + ResultCodeOcclusionRightContour, //右脸颊有遮挡
  40 + ResultCodeOcclusionChinCoutour, //下颚有遮挡
  41 + ResultCodeVerifyInitError, //鉴权失败
  42 + ResultCodeVerifyDecryptError,
  43 + ResultCodeVerifyInfoFormatError,
  44 + ResultCodeVerifyExpired,
  45 + ResultCodeVerifyMissRequiredInfo,
  46 + ResultCodeVerifyInfoCheckError,
  47 + ResultCodeVerifyLocalFileError,
  48 + ResultCodeVerifyRemoteDataError,
  49 + ResultCodeLeftEyeClosed,
  50 + ResultCodeRightEyeClosed,
  51 + ResultCodeUnknowType //未知类型
  52 +};
  53 +
  54 +
  55 +typedef NS_ENUM(NSUInteger, TrackResultCode) {
  56 + TrackResultCodeOK,
  57 + TrackResultCodeImageBlured, // 图像模糊
  58 + TrackResultCodePoorIllumination, // 光照不行
  59 + TrackResultCodeNoFaceDetected, //没有检测到人脸
  60 + TrackResultCodeOcclusionLeftEye, //左眼有遮挡
  61 + TrackResultCodeOcclusionRightEye, //右眼有遮挡
  62 + TrackResultCodeOcclusionNose, //鼻子有遮挡
  63 + TrackResultCodeOcclusionMouth, //嘴巴有遮挡
  64 + TrackResultCodeOcclusionLeftContour, //左脸颊有遮挡
  65 + TrackResultCodeOcclusionRightContour, //右脸颊有遮挡
  66 + TrackResultCodeOcclusionChinCoutour, //下颚有遮挡
  67 + TrackResultCodeVerifyInitError, //鉴权失败
  68 + TrackResultCodeVerifyDecryptError,
  69 + TrackResultCodeVerifyInfoFormatError,
  70 + TrackResultCodeVerifyExpired,
  71 + TrackResultCodeVerifyMissRequiredInfo,
  72 + TrackResultCodeVerifyInfoCheckError,
  73 + TrackResultCodeVerifyLocalFileError,
  74 + TrackResultCodeVerifyRemoteDataError,
  75 + TrackResultCodeUnknowType //未知类型
  76 +};
  77 +
  78 +
  79 +
@@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
17 @property (nonatomic, readwrite, assign) BOOL isByOrder; 17 @property (nonatomic, readwrite, assign) BOOL isByOrder;
18 @property (nonatomic, readwrite, assign) NSInteger numOfLiveness; 18 @property (nonatomic, readwrite, assign) NSInteger numOfLiveness;
19 @property (nonatomic, readwrite, strong) NSMutableArray *liveActionArray; 19 @property (nonatomic, readwrite, strong) NSMutableArray *liveActionArray;
20 -@property (nonatomic, readwrite, strong) NSMutableArray *colorActionArray; 20 +//@property (nonatomic, readwrite, strong) NSMutableArray *colorActionArray;
21 21
22 - (void)resetState; 22 - (void)resetState;
23 23
  1 +//
  2 +// BDFaceSaveFile.h
  3 +// IDLFaceSDK
  4 +//
  5 +// Created by 之哥 on 2022/10/18.
  6 +// Copyright © 2022 Baidu. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +@interface BDFaceSaveFile : NSObject
  14 +
  15 +//-(BOOL)saveStringToFile:(NSString *)str;
  16 +
  17 ++(void)saveStringToFile:(NSString *)string;
  18 +
  19 +@end
  20 +
  21 +NS_ASSUME_NONNULL_END
@@ -97,5 +97,7 @@ is_IphoneXseries; \ @@ -97,5 +97,7 @@ is_IphoneXseries; \
97 97
98 #endif 98 #endif
99 99
  100 +#define TS_NOW [[NSDate date] timeIntervalSince1970]
  101 +
100 102
101 #endif /* BDUIConstant_h */ 103 #endif /* BDUIConstant_h */
@@ -8,74 +8,7 @@ @@ -8,74 +8,7 @@
8 8
9 #import <Foundation/Foundation.h> 9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h> 10 #import <UIKit/UIKit.h>
11 -  
12 -  
13 -typedef NS_ENUM(NSInteger, FaceLivenessActionType) {  
14 - FaceLivenessActionTypeLiveEye = 0,  
15 - FaceLivenessActionTypeLiveMouth = 1,  
16 - FaceLivenessActionTypeLiveYawRight = 2,  
17 - FaceLivenessActionTypeLiveYawLeft = 3,  
18 - FaceLivenessActionTypeLivePitchUp = 4,  
19 - FaceLivenessActionTypeLivePitchDown = 5,  
20 - FaceLivenessActionTypeNoAction = 6,  
21 -};  
22 -  
23 -typedef NS_ENUM(NSUInteger, ResultCode) {  
24 - ResultCodeOK,  
25 - ResultCodePitchOutofDownRange, //头部偏低  
26 - ResultCodePitchOutofUpRange, //头部偏高  
27 - ResultCodeYawOutofLeftRange, //头部偏左  
28 - ResultCodeYawOutofRightRange, //头部偏右  
29 - ResultCodeTooBrightIllumination, // 光线过亮  
30 - ResultCodePoorIllumination, //光照不足  
31 - ResultCodeNoFaceDetected, //没有检测到人脸  
32 - ResultCodeDataHitOne, //采集到一张照片  
33 - ResultCodeDataHitLast, //采集到最后一张照片  
34 - ResultCodeImageBlured, //图像模糊  
35 - ResultCodeOcclusionLeftEye, //左眼有遮挡  
36 - ResultCodeOcclusionRightEye, //右眼有遮挡  
37 - ResultCodeOcclusionNose, //鼻子有遮挡  
38 - ResultCodeOcclusionMouth, //嘴巴有遮挡  
39 - ResultCodeOcclusionLeftContour, //左脸颊有遮挡  
40 - ResultCodeOcclusionRightContour, //右脸颊有遮挡  
41 - ResultCodeOcclusionChinCoutour, //下颚有遮挡  
42 - ResultCodeVerifyInitError, //鉴权失败  
43 - ResultCodeVerifyDecryptError,  
44 - ResultCodeVerifyInfoFormatError,  
45 - ResultCodeVerifyExpired,  
46 - ResultCodeVerifyMissRequiredInfo,  
47 - ResultCodeVerifyInfoCheckError,  
48 - ResultCodeVerifyLocalFileError,  
49 - ResultCodeVerifyRemoteDataError,  
50 - ResultCodeLeftEyeClosed,  
51 - ResultCodeRightEyeClosed,  
52 - ResultCodeUnknowType //未知类型  
53 -};  
54 -  
55 -  
56 -typedef NS_ENUM(NSUInteger, TrackResultCode) {  
57 - TrackResultCodeOK,  
58 - TrackResultCodeImageBlured, // 图像模糊  
59 - TrackResultCodePoorIllumination, // 光照不行  
60 - TrackResultCodeNoFaceDetected, //没有检测到人脸  
61 - TrackResultCodeOcclusionLeftEye, //左眼有遮挡  
62 - TrackResultCodeOcclusionRightEye, //右眼有遮挡  
63 - TrackResultCodeOcclusionNose, //鼻子有遮挡  
64 - TrackResultCodeOcclusionMouth, //嘴巴有遮挡  
65 - TrackResultCodeOcclusionLeftContour, //左脸颊有遮挡  
66 - TrackResultCodeOcclusionRightContour, //右脸颊有遮挡  
67 - TrackResultCodeOcclusionChinCoutour, //下颚有遮挡  
68 - TrackResultCodeVerifyInitError, //鉴权失败  
69 - TrackResultCodeVerifyDecryptError,  
70 - TrackResultCodeVerifyInfoFormatError,  
71 - TrackResultCodeVerifyExpired,  
72 - TrackResultCodeVerifyMissRequiredInfo,  
73 - TrackResultCodeVerifyInfoCheckError,  
74 - TrackResultCodeVerifyLocalFileError,  
75 - TrackResultCodeVerifyRemoteDataError,  
76 - TrackResultCodeUnknowType //未知类型  
77 -};  
78 - 11 +#import "BDFaceDef.h"
79 12
80 @class FaceInfo; 13 @class FaceInfo;
81 @class FaceLivenessState; 14 @class FaceLivenessState;
@@ -96,6 +29,8 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -96,6 +29,8 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
96 @property (nonatomic, assign) int imageEncrypteType; 29 @property (nonatomic, assign) int imageEncrypteType;
97 /* 人脸过远框比例 默认:0.3 */ 30 /* 人脸过远框比例 默认:0.3 */
98 @property (nonatomic, assign) float minRectScale; 31 @property (nonatomic, assign) float minRectScale;
  32 +/* 人脸过近框比例 默认:0.5 */
  33 +@property (nonatomic, assign) float maxRectScale;
99 /* 视频录制能力 */ 34 /* 视频录制能力 */
100 @property (nonatomic, assign) BOOL recordAbility; 35 @property (nonatomic, assign) BOOL recordAbility;
101 /* 炫彩颜色判断能力 */ 36 /* 炫彩颜色判断能力 */
@@ -108,6 +43,27 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -108,6 +43,27 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
108 @property (nonatomic, assign) float livenessThresholdValue; 43 @property (nonatomic, assign) float livenessThresholdValue;
109 /* 活体检测阈值 默认:0.8 */ 44 /* 活体检测阈值 默认:0.8 */
110 @property (nonatomic, assign) float colorLiveThresholdValue; 45 @property (nonatomic, assign) float colorLiveThresholdValue;
  46 +/* 是否压缩图片 默认:压缩 */
  47 +@property (nonatomic, assign) BOOL isCompressImage;
  48 +/* 压缩图片大小 默认:300kb */
  49 +@property (nonatomic, assign) int compressValue;
  50 +/* 是否超时弹窗 默认:弹窗 */
  51 +@property (nonatomic, assign) BOOL isPopWindow;
  52 +/* 眨眼、张嘴动作添加遮挡判断 默认:不严格 */
  53 +@property (nonatomic, assign) BOOL isStrict;
  54 +/* 数据埋点 默认:不开启 */
  55 +@property (nonatomic, assign) BOOL isSaveEventLogs;
  56 +
  57 +/* 是否开启动作失败切换动作 默认:关闭 */
  58 +@property (nonatomic, assign) BOOL isChangeAction;
  59 +
  60 +/* 动作失败后可以随机一个动作替换失败动作的活体动作列表 */
  61 +@property (nonatomic, strong) NSMutableArray *canRandomLiveActionArray;
  62 +
  63 +/* 安全加密key 默认:idl-key.face-ios */
  64 +@property (nonatomic ,strong) NSString *encryptKey;
  65 +/* 活体、炫彩剩余时间*/
  66 +@property (nonatomic, assign) CGFloat livenessColorTime;
111 67
112 + (instancetype)sharedInstance; 68 + (instancetype)sharedInstance;
113 69
@@ -187,6 +143,12 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -187,6 +143,12 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
187 -(void)setOccluLeftEyeThreshold:(CGFloat)thr ; 143 -(void)setOccluLeftEyeThreshold:(CGFloat)thr ;
188 144
189 /** 145 /**
  146 + * 眼睛闭合置信度
  147 + * 默认0.7
  148 + */
  149 +-(void)setEyeCloseThreshold:(CGFloat)thr ;
  150 +
  151 +/**
190 * 质量检测遮挡阈值- 右眼遮挡置信度 152 * 质量检测遮挡阈值- 右眼遮挡置信度
191 * 默认0.31 153 * 默认0.31
192 */ 154 */
@@ -323,6 +285,10 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -323,6 +285,10 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
323 * 人脸过远框比例 默认:0.4 285 * 人脸过远框比例 默认:0.4
324 */ 286 */
325 - (void)setMinRect:(float) minRectScale; 287 - (void)setMinRect:(float) minRectScale;
  288 +/**
  289 + * 人脸过近框比例 默认:0.5
  290 + */
  291 +- (void)setMaxRect:(float) maxRectScale;
326 292
327 /** 293 /**
328 * 活体检测阈值 默认:0.8 294 * 活体检测阈值 默认:0.8
@@ -350,7 +316,7 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -350,7 +316,7 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
350 - (void)setColorJudgeAbility:(BOOL) colorJudgeAbility; 316 - (void)setColorJudgeAbility:(BOOL) colorJudgeAbility;
351 317
352 /** 318 /**
353 - * 图片是否压缩 默认:压缩 319 + * 图片是否压缩 默认:压缩
354 */ 320 */
355 - (void)setIsCompressImage:(BOOL)isCompressImage; 321 - (void)setIsCompressImage:(BOOL)isCompressImage;
356 322
@@ -365,6 +331,24 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -365,6 +331,24 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
365 - (void)setIsPopWindow:(BOOL) isPopWindow; 331 - (void)setIsPopWindow:(BOOL) isPopWindow;
366 332
367 /** 333 /**
  334 + * 质量检测闭眼阈值设置 默认:0.8
  335 + */
  336 +- (void)setEyeCloseValue:(float) eyeCloseValue;
  337 +
  338 +/**
  339 + * 眨眼、张嘴动作添加遮挡判断 默认:不严格
  340 + */
  341 +- (void)setIsStrict:(BOOL) isStrict;
  342 +/**
  343 + * 数据埋点 默认:不开启
  344 + */
  345 +-(void)setIsSaveEventLogs:(BOOL) isSaveEventLogs;
  346 +/**
  347 + * 安全加密key 默认:idl-key.face-ios
  348 + */
  349 +-(void)setEncryptKey:(NSString *) encryptKey;
  350 +
  351 +/**
368 * 采集动作验证 352 * 采集动作验证
369 * @param image 检测的图片 353 * @param image 检测的图片
370 * @param isOriginal 是否返回原始图片 354 * @param isOriginal 是否返回原始图片
@@ -390,11 +374,19 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -390,11 +374,19 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
390 - (void)colorWithImage:(UIImage *)image isRreturnOriginalValue:(BOOL) isOriginal isColorQuality:(BOOL)colorQuality completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion; 374 - (void)colorWithImage:(UIImage *)image isRreturnOriginalValue:(BOOL) isOriginal isColorQuality:(BOOL)colorQuality completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion;
391 375
392 /** 376 /**
393 - * 炫彩颜色验证  
394 - * @param image 已经成功采集对应颜色的图片  
395 - * @param completion 判断采集是否完成,人脸信息状态是否正常 377 + * 六颜色炫彩图片得分接口
  378 + * @param image 当前采集图片
  379 + * @param color 当前采集图片对应颜色
  380 + * @param completion 返回错误码,0为成功
  381 + */
  382 +- (void)colorWithImage:(UIImage *)image color:(NSString *)color completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion;
  383 +
  384 +- (void)colorLiveGetDataCompletion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion;
  385 +
  386 +/*
  387 + 图片压缩
396 */ 388 */
397 -- (void)colorWithImage:(UIImage *)image anotherImage:(UIImage *)anotherImage color:(NSString *)color anotherColor:(NSString *)anotherColor completion:(void (^)(FaceInfo *faceinfo, ResultCode resultCode))completion; 389 +- (UIImage *)compressImageDataWithMaxLength:(NSUInteger)maxLength image:(UIImage *)image;
398 390
399 @end 391 @end
400 392
@@ -423,6 +415,14 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -423,6 +415,14 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
423 * 动作活体-低头 415 * 动作活体-低头
424 */ 416 */
425 @property(nonatomic, assign) BOOL isLivePitchDown; 417 @property(nonatomic, assign) BOOL isLivePitchDown;
  418 +/**
  419 + * 动作活体-摇摇头
  420 + */
  421 +@property(nonatomic, assign) BOOL isLiveShakeHead;
  422 +/**
  423 + * 动作活体-点点头
  424 + */
  425 +@property(nonatomic, assign) BOOL isLiveUpDown;
426 @end 426 @end
427 427
428 @interface FaceCropImageInfo : NSObject 428 @interface FaceCropImageInfo : NSObject
@@ -542,6 +542,11 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) { @@ -542,6 +542,11 @@ typedef NS_ENUM(NSUInteger, TrackResultCode) {
542 @property (nonatomic,assign) float outPutColorScore; 542 @property (nonatomic,assign) float outPutColorScore;
543 543
544 /** 544 /**
  545 + * 炫彩活体RGB 炫彩活体结果
  546 + */
  547 +@property (nonatomic,assign) float outPutColorResult;
  548 +
  549 +/**
545 * 炫彩活体RGB 炫彩活体得分 550 * 炫彩活体RGB 炫彩活体得分
546 */ 551 */
547 @property (nonatomic,assign) float colorAuraliveScore; 552 @property (nonatomic,assign) float colorAuraliveScore;
@@ -23,7 +23,10 @@ typedef NS_ENUM(NSInteger, SSFaceProcessStatus) { @@ -23,7 +23,10 @@ typedef NS_ENUM(NSInteger, SSFaceProcessStatus) {
23 23
24 SSFaceProcessStatusResultFail = -301, // 构建数据异常 24 SSFaceProcessStatusResultFail = -301, // 构建数据异常
25 SSFaceProcessStatusCameraError = -302, // 没有授权镜头 25 SSFaceProcessStatusCameraError = -302, // 没有授权镜头
  26 + SSFaceProcessStatusVideoRecordingFail = -303, // 视频录制失败
26 SSFaceProcessStatusCropImageError = -305, // 抠图失败 27 SSFaceProcessStatusCropImageError = -305, // 抠图失败
  28 + SSFaceProcessStatusEncryptFail = -311, // 加密失败
  29 + SSFaceProcessStatusSystemVideoFail = -313, // 视频录制失败-系统异常
27 30
28 SSFaceProcessStatusTimeout = -401, // 超时 31 SSFaceProcessStatusTimeout = -401, // 超时
29 SSFaceProcessStatusColorMatchFailed = -402, // 炫彩色彩错误 32 SSFaceProcessStatusColorMatchFailed = -402, // 炫彩色彩错误
@@ -95,6 +98,19 @@ __attribute__((visibility("default"))) @@ -95,6 +98,19 @@ __attribute__((visibility("default")))
95 // BDFaceDetectionTypeColorfulLiveness流程中是否开启动作活体 98 // BDFaceDetectionTypeColorfulLiveness流程中是否开启动作活体
96 @property (nonatomic, assign) BOOL enableLivenessInColorfulFlow; 99 @property (nonatomic, assign) BOOL enableLivenessInColorfulFlow;
97 100
  101 +// 录制长度,默认60s,范围1~60
  102 +@property (nonatomic, assign) NSInteger recordingDuration;
  103 +
  104 +// iOS13及以下版本,是否开启自定义配置,默认NO
  105 +@property (nonatomic, assign) BOOL enableUseDefinedCameraL13;
  106 +
  107 +// 是否允许录制的视频文件不存在,默认false
  108 +@property (nonatomic, assign) BOOL enableVideoFileEmpty;
  109 +
  110 +// 是否支持保存检测异常时的视频文件
  111 +@property (nonatomic, assign) BOOL enableFaceFailVideo;
  112 +
  113 +
98 114
99 + (instancetype)sharedInstance; 115 + (instancetype)sharedInstance;
100 116
@@ -130,7 +146,6 @@ __attribute__((visibility("default"))) @@ -130,7 +146,6 @@ __attribute__((visibility("default")))
130 */ 146 */
131 - (void)startRecordingVideo; 147 - (void)startRecordingVideo;
132 148
133 -  
134 /** 149 /**
135 * 活体检测过程中,返回活体总数,当前成功个数,当前活体类型 150 * 活体检测过程中,返回活体总数,当前成功个数,当前活体类型
136 */ 151 */
@@ -21,7 +21,9 @@ typedef NS_ENUM(NSInteger, LivenessActionType) { @@ -21,7 +21,9 @@ typedef NS_ENUM(NSInteger, LivenessActionType) {
21 LivenessActionTypeLiveYawLeft = 3, 21 LivenessActionTypeLiveYawLeft = 3,
22 LivenessActionTypeLivePitchUp = 4, 22 LivenessActionTypeLivePitchUp = 4,
23 LivenessActionTypeLivePitchDown = 5, 23 LivenessActionTypeLivePitchDown = 5,
24 - LivenessActionTypeNoAction = 6, 24 + LivenessActionTypeLiveUpDown = 6,
  25 + LivenessActionTypeShakeHead = 7,
  26 + LivenessActionTypeNoAction = 8,
25 }; 27 };
26 28
27 ///** 29 ///**
@@ -31,6 +33,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) { @@ -31,6 +33,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) {
31 LivenessRemindCodeOK = 0, //成功 33 LivenessRemindCodeOK = 0, //成功
32 LivenessRemindCodeBeyondPreviewFrame, //出框 34 LivenessRemindCodeBeyondPreviewFrame, //出框
33 LivenessRemindCodeNoFaceDetected, //没有检测到人脸 35 LivenessRemindCodeNoFaceDetected, //没有检测到人脸
  36 + LivenessRemindCodeFaceMoreThanOneDetected,
34 LivenessRemindCodeMuchIllumination, 37 LivenessRemindCodeMuchIllumination,
35 LivenessRemindCodePoorIllumination, //光照不足 38 LivenessRemindCodePoorIllumination, //光照不足
36 LivenessRemindCodeImageBlured, //图像模糊 39 LivenessRemindCodeImageBlured, //图像模糊
@@ -56,6 +59,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) { @@ -56,6 +59,7 @@ typedef NS_ENUM(NSUInteger, LivenessRemindCode) {
56 LivenessRemindCodeLivePitchUp, //向上抬头 59 LivenessRemindCodeLivePitchUp, //向上抬头
57 LivenessRemindCodeLivePitchDown, //向下低头 60 LivenessRemindCodeLivePitchDown, //向下低头
58 LivenessRemindCodeLiveYaw, //摇摇头 61 LivenessRemindCodeLiveYaw, //摇摇头
  62 + LivenessRemindCodeLiveUpDown, // 点点头
59 LivenessRemindCodeSingleLivenessFinished, //完成一个活体动作 63 LivenessRemindCodeSingleLivenessFinished, //完成一个活体动作
60 LivenessRemindActionCodeTimeout, // 当前活体动作超时 64 LivenessRemindActionCodeTimeout, // 当前活体动作超时
61 LivenessRemindCodeLeftEyeClosed, //左眼关闭 65 LivenessRemindCodeLeftEyeClosed, //左眼关闭
@@ -73,6 +77,7 @@ typedef NS_ENUM(NSUInteger, DetectRemindCode) { @@ -73,6 +77,7 @@ typedef NS_ENUM(NSUInteger, DetectRemindCode) {
73 DetectRemindCodeOK = 0, //成功 77 DetectRemindCodeOK = 0, //成功
74 DetectRemindCodeBeyondPreviewFrame, //出框 78 DetectRemindCodeBeyondPreviewFrame, //出框
75 DetectRemindCodeNoFaceDetected, //没有检测到人脸 79 DetectRemindCodeNoFaceDetected, //没有检测到人脸
  80 + DetectRemindCodeFaceMoreThanOneDetected, //检测到多个人脸
76 DetectRemindCodeMuchIllumination, 81 DetectRemindCodeMuchIllumination,
77 DetectRemindCodePoorIllumination, //光照不足 82 DetectRemindCodePoorIllumination, //光照不足
78 DetectRemindCodeImageBlured, //图像模糊 83 DetectRemindCodeImageBlured, //图像模糊
@@ -121,6 +126,7 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) { @@ -121,6 +126,7 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) {
121 ColorRemindCodeOK = 0, //成功 126 ColorRemindCodeOK = 0, //成功
122 ColorRemindCodeBeyondPreviewFrame, //出框 127 ColorRemindCodeBeyondPreviewFrame, //出框
123 ColorRemindCodeNoFaceDetected, //没有检测到人脸 128 ColorRemindCodeNoFaceDetected, //没有检测到人脸
  129 + ColorRemindCodeFaceMoreThanOneDetected, //没有检测到人脸
124 ColorRemindCodeMuchIllumination, 130 ColorRemindCodeMuchIllumination,
125 ColorRemindCodePoorIllumination, //光照不足 131 ColorRemindCodePoorIllumination, //光照不足
126 ColorRemindCodeImageBlured, //图像模糊 132 ColorRemindCodeImageBlured, //图像模糊
@@ -137,15 +143,14 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) { @@ -137,15 +143,14 @@ typedef NS_ENUM(NSUInteger, ColorRemindCode) {
137 ColorRemindCodeOcclusionLeftContour, //左脸颊有遮挡 143 ColorRemindCodeOcclusionLeftContour, //左脸颊有遮挡
138 ColorRemindCodeOcclusionRightContour, //右脸颊有遮挡 144 ColorRemindCodeOcclusionRightContour, //右脸颊有遮挡
139 ColorRemindCodeOcclusionChinCoutour, //下颚有遮挡 145 ColorRemindCodeOcclusionChinCoutour, //下颚有遮挡
140 -// ColorRemindCodeOcclusioneyebrow, //眉毛有遮挡  
141 ColorRemindCodeTimeout, //超时 146 ColorRemindCodeTimeout, //超时
142 ColorRemindCodeVerifyInitError, //鉴权失败 147 ColorRemindCodeVerifyInitError, //鉴权失败
143 ColorRemindCodeSuccess, //炫彩活体采集成功 148 ColorRemindCodeSuccess, //炫彩活体采集成功
144 - ColorRemindCodeColorMatchFailed, //炫彩活体采集失败颜色匹配失败  
145 - ColorRemindCodeScoreFailed, //炫彩活体采集失败分数过低 149 + ColorRemindCodeColorMatchFailed, //炫彩活体采集失败
  150 + ColorRemindCodeScreenWillFlash, //屏幕即将闪烁
146 ColorRemindCodeBreak, //炫彩中途失败,由于当前颜色没有拿到质量满足的图片 151 ColorRemindCodeBreak, //炫彩中途失败,由于当前颜色没有拿到质量满足的图片
147 ColorRemindCodeComplete, //炫彩活体完成 152 ColorRemindCodeComplete, //炫彩活体完成
148 - ColorRemindCodeChangeColor,//炫彩颜色变换 153 + ColorRemindCodeChangeColor,
149 ColorRemindCodeFaceIdChanged // faceid 发生变化 154 ColorRemindCodeFaceIdChanged // faceid 发生变化
150 }; 155 };
151 156
@@ -239,3 +244,4 @@ typedef NS_ENUM(NSInteger, SSFaceProcessImageType) { @@ -239,3 +244,4 @@ typedef NS_ENUM(NSInteger, SSFaceProcessImageType) {
239 244
240 #import "FaceSDKManager.h" 245 #import "FaceSDKManager.h"
241 #import "SSFaceProcessManager.h" 246 #import "SSFaceProcessManager.h"
  247 +#import "BDFaceSaveFile.h"
@@ -10,19 +10,19 @@ @@ -10,19 +10,19 @@
10 </data> 10 </data>
11 <key>Headers/BDFaceBaseKitLivenessTipCustomConfigItem.h</key> 11 <key>Headers/BDFaceBaseKitLivenessTipCustomConfigItem.h</key>
12 <data> 12 <data>
13 - 8pIZRMHWLEVOuaBwj5MRKE+ISXQ= 13 + M+pAl5+Uv7UAhme2DkHjI1sZdZ0=
14 </data> 14 </data>
15 <key>Headers/BDFaceBaseKitManager.h</key> 15 <key>Headers/BDFaceBaseKitManager.h</key>
16 <data> 16 <data>
17 - 3seyh4Ix1e6BAVSBa7Sz1bv3fv0= 17 + RjaUicxqCIziq2Oku0bZcQAUwSE=
18 </data> 18 </data>
19 <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key> 19 <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key>
20 <data> 20 <data>
21 - zqhzsbFtoFfIUN2YFcjKR2SeJzk= 21 + /ui8B4EJwz+O1OqaLv08DBoLJc4=
22 </data> 22 </data>
23 <key>Headers/BDFaceBaseKitRemindErrorCode.h</key> 23 <key>Headers/BDFaceBaseKitRemindErrorCode.h</key>
24 <data> 24 <data>
25 - LTatOxvX6RdhURgVIZPRkDJ/CGI= 25 + PtxoKpp2klRmGDaN8LxBcNNEpp0=
26 </data> 26 </data>
27 <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key> 27 <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key>
28 <data> 28 <data>
@@ -32,9 +32,17 @@ @@ -32,9 +32,17 @@
32 <data> 32 <data>
33 gMUhthd3kgZKeyMcVjZ+WxU1Vg0= 33 gMUhthd3kgZKeyMcVjZ+WxU1Vg0=
34 </data> 34 </data>
  35 + <key>Headers/BDFaceDef.h</key>
  36 + <data>
  37 + 6qnGkxZqZD6d1XnEHoGTuou/Ph8=
  38 + </data>
35 <key>Headers/BDFaceLivingConfigModel.h</key> 39 <key>Headers/BDFaceLivingConfigModel.h</key>
36 <data> 40 <data>
37 - c/ooSPcNAsMLPh+Iw0iJb94KvFg= 41 + 7UwA12sj4HdyAiKW13rurQPEaMA=
  42 + </data>
  43 + <key>Headers/BDFaceSaveFile.h</key>
  44 + <data>
  45 + hiXEM8d1zBNEe8wyikrUshUu5gw=
38 </data> 46 </data>
39 <key>Headers/BDFaceToastView.h</key> 47 <key>Headers/BDFaceToastView.h</key>
40 <data> 48 <data>
@@ -46,19 +54,19 @@ @@ -46,19 +54,19 @@
46 </data> 54 </data>
47 <key>Headers/BDUIConstant.h</key> 55 <key>Headers/BDUIConstant.h</key>
48 <data> 56 <data>
49 - VSPnA5vCoOoRPV0crHz28uxo2OU= 57 + ZxOkhbI1cJphEkob7tUbszgoNOA=
50 </data> 58 </data>
51 <key>Headers/FaceSDKManager.h</key> 59 <key>Headers/FaceSDKManager.h</key>
52 <data> 60 <data>
53 - 5exgbDkpmJ9DNy5fSQesJLuwwo0= 61 + igFNJyK1GcAlDnuUuNVjv6FiN9Q=
54 </data> 62 </data>
55 <key>Headers/SSFaceProcessManager.h</key> 63 <key>Headers/SSFaceProcessManager.h</key>
56 <data> 64 <data>
57 - n0+7eYH4iu4TmKSxPx/ykWNvhPs= 65 + 9mW27YcNeUYW7PhC0xnKSuuaFCY=
58 </data> 66 </data>
59 <key>Headers/SSFaceSDK.h</key> 67 <key>Headers/SSFaceSDK.h</key>
60 <data> 68 <data>
61 - tRdTJj66lLL33V/L2GkdNC1PT20= 69 + zZOwMzJ8/Ywqd1e/C/8J32F6T90=
62 </data> 70 </data>
63 <key>Headers/UIColor+BDFaceColorUtils.h</key> 71 <key>Headers/UIColor+BDFaceColorUtils.h</key>
64 <data> 72 <data>
@@ -70,7 +78,7 @@ @@ -70,7 +78,7 @@
70 </data> 78 </data>
71 <key>Info.plist</key> 79 <key>Info.plist</key>
72 <data> 80 <data>
73 - zDBrqpvhq1n/g+8W+HqTzMPeBgM= 81 + BIiL1gGA9KGvldxNEejKcq8FSAg=
74 </data> 82 </data>
75 <key>Modules/module.modulemap</key> 83 <key>Modules/module.modulemap</key>
76 <data> 84 <data>
@@ -94,44 +102,44 @@ @@ -94,44 +102,44 @@
94 <dict> 102 <dict>
95 <key>hash</key> 103 <key>hash</key>
96 <data> 104 <data>
97 - 8pIZRMHWLEVOuaBwj5MRKE+ISXQ= 105 + M+pAl5+Uv7UAhme2DkHjI1sZdZ0=
98 </data> 106 </data>
99 <key>hash2</key> 107 <key>hash2</key>
100 <data> 108 <data>
101 - 9Yvhvkj3eMSu7wOfUX3R43PgEAcSbaMqpFZ2y8/I3do= 109 + PS6uEGLcl2FXhfaJqMUdkovL3h2Q0oCHzREkr+lqUj4=
102 </data> 110 </data>
103 </dict> 111 </dict>
104 <key>Headers/BDFaceBaseKitManager.h</key> 112 <key>Headers/BDFaceBaseKitManager.h</key>
105 <dict> 113 <dict>
106 <key>hash</key> 114 <key>hash</key>
107 <data> 115 <data>
108 - 3seyh4Ix1e6BAVSBa7Sz1bv3fv0= 116 + RjaUicxqCIziq2Oku0bZcQAUwSE=
109 </data> 117 </data>
110 <key>hash2</key> 118 <key>hash2</key>
111 <data> 119 <data>
112 - aby/Lv2740ftaKfie83NDCVEaKaYKN0GXscvkmsLXcc= 120 + IHLr1lfIV43Nu9dIjz488vyU7UiUbC1h/vluAZdmn2Y=
113 </data> 121 </data>
114 </dict> 122 </dict>
115 <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key> 123 <key>Headers/BDFaceBaseKitParamsCustomConfigItem.h</key>
116 <dict> 124 <dict>
117 <key>hash</key> 125 <key>hash</key>
118 <data> 126 <data>
119 - zqhzsbFtoFfIUN2YFcjKR2SeJzk= 127 + /ui8B4EJwz+O1OqaLv08DBoLJc4=
120 </data> 128 </data>
121 <key>hash2</key> 129 <key>hash2</key>
122 <data> 130 <data>
123 - dsuZK3Oq3wZFJgtW5UTc4ppEqSSWhGQmos9OFT9gqNI= 131 + toV1iMEoe9J2jCoOPoeWmwlnic7VU4STukVU5c38BI0=
124 </data> 132 </data>
125 </dict> 133 </dict>
126 <key>Headers/BDFaceBaseKitRemindErrorCode.h</key> 134 <key>Headers/BDFaceBaseKitRemindErrorCode.h</key>
127 <dict> 135 <dict>
128 <key>hash</key> 136 <key>hash</key>
129 <data> 137 <data>
130 - LTatOxvX6RdhURgVIZPRkDJ/CGI= 138 + PtxoKpp2klRmGDaN8LxBcNNEpp0=
131 </data> 139 </data>
132 <key>hash2</key> 140 <key>hash2</key>
133 <data> 141 <data>
134 - Ro0Gmzz5ZdVA/XhtRlZCdUd/vj9D9oNfkVLIT9whc/0= 142 + 8V/s+0bbUp1noREu9Scf452MTor3h6QOvZka2+By238=
135 </data> 143 </data>
136 </dict> 144 </dict>
137 <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key> 145 <key>Headers/BDFaceBaseKitUICustomConfigItem.h</key>
@@ -156,15 +164,37 @@ @@ -156,15 +164,37 @@
156 SxDByYLFmbey4hydcFjjNRYdbfwRlQmjP/L4D7D6Dic= 164 SxDByYLFmbey4hydcFjjNRYdbfwRlQmjP/L4D7D6Dic=
157 </data> 165 </data>
158 </dict> 166 </dict>
  167 + <key>Headers/BDFaceDef.h</key>
  168 + <dict>
  169 + <key>hash</key>
  170 + <data>
  171 + 6qnGkxZqZD6d1XnEHoGTuou/Ph8=
  172 + </data>
  173 + <key>hash2</key>
  174 + <data>
  175 + 1cVeGWGj1sk9r5XmE9agNIkHYFMQKmgK7Ji46MrBAuo=
  176 + </data>
  177 + </dict>
159 <key>Headers/BDFaceLivingConfigModel.h</key> 178 <key>Headers/BDFaceLivingConfigModel.h</key>
160 <dict> 179 <dict>
161 <key>hash</key> 180 <key>hash</key>
162 <data> 181 <data>
163 - c/ooSPcNAsMLPh+Iw0iJb94KvFg= 182 + 7UwA12sj4HdyAiKW13rurQPEaMA=
  183 + </data>
  184 + <key>hash2</key>
  185 + <data>
  186 + BBg+7IVCXIjcb4S+yQEq3WL2jeiXbFZK7wf+pA98l1c=
  187 + </data>
  188 + </dict>
  189 + <key>Headers/BDFaceSaveFile.h</key>
  190 + <dict>
  191 + <key>hash</key>
  192 + <data>
  193 + hiXEM8d1zBNEe8wyikrUshUu5gw=
164 </data> 194 </data>
165 <key>hash2</key> 195 <key>hash2</key>
166 <data> 196 <data>
167 - P6PmHDQO9vKJqzBXKCyezELShKqvo6/jIhUxB1rrRXs= 197 + AzaRwYeUK52fUAhZJktOSXYGg7pkrhBRHjrrSp42cqU=
168 </data> 198 </data>
169 </dict> 199 </dict>
170 <key>Headers/BDFaceToastView.h</key> 200 <key>Headers/BDFaceToastView.h</key>
@@ -193,44 +223,44 @@ @@ -193,44 +223,44 @@
193 <dict> 223 <dict>
194 <key>hash</key> 224 <key>hash</key>
195 <data> 225 <data>
196 - VSPnA5vCoOoRPV0crHz28uxo2OU= 226 + ZxOkhbI1cJphEkob7tUbszgoNOA=
197 </data> 227 </data>
198 <key>hash2</key> 228 <key>hash2</key>
199 <data> 229 <data>
200 - 1ITrrmZPtCCNVNioGNCg/SkF8JN12bD/lIqpYEJFwPc= 230 + DfE6qi0rFlsqt7GAKY+V4x2TA6G970Xfqp5ZtUTBr34=
201 </data> 231 </data>
202 </dict> 232 </dict>
203 <key>Headers/FaceSDKManager.h</key> 233 <key>Headers/FaceSDKManager.h</key>
204 <dict> 234 <dict>
205 <key>hash</key> 235 <key>hash</key>
206 <data> 236 <data>
207 - 5exgbDkpmJ9DNy5fSQesJLuwwo0= 237 + igFNJyK1GcAlDnuUuNVjv6FiN9Q=
208 </data> 238 </data>
209 <key>hash2</key> 239 <key>hash2</key>
210 <data> 240 <data>
211 - ayCFmyfsUrBZiS8RY7CzdDbDz5HzjSnRWnBBhRTfHKI= 241 + W5ZL/fcXq2WhpRAXFNATpZTsOGfemDWb8aZYtNFBGzM=
212 </data> 242 </data>
213 </dict> 243 </dict>
214 <key>Headers/SSFaceProcessManager.h</key> 244 <key>Headers/SSFaceProcessManager.h</key>
215 <dict> 245 <dict>
216 <key>hash</key> 246 <key>hash</key>
217 <data> 247 <data>
218 - n0+7eYH4iu4TmKSxPx/ykWNvhPs= 248 + 9mW27YcNeUYW7PhC0xnKSuuaFCY=
219 </data> 249 </data>
220 <key>hash2</key> 250 <key>hash2</key>
221 <data> 251 <data>
222 - izfr7WmLCKztmg3IaZ1bY9bfEXkaObsQ089alXBDDOA= 252 + 88yrULGz7O/rEVlSkHTi1AtiY9RQEJHfnvFGqfEOX1M=
223 </data> 253 </data>
224 </dict> 254 </dict>
225 <key>Headers/SSFaceSDK.h</key> 255 <key>Headers/SSFaceSDK.h</key>
226 <dict> 256 <dict>
227 <key>hash</key> 257 <key>hash</key>
228 <data> 258 <data>
229 - tRdTJj66lLL33V/L2GkdNC1PT20= 259 + zZOwMzJ8/Ywqd1e/C/8J32F6T90=
230 </data> 260 </data>
231 <key>hash2</key> 261 <key>hash2</key>
232 <data> 262 <data>
233 - qUj2zdk03N5gZyRBeIlF6IxesOlG1AwFLZVLlImgzbM= 263 + ZjFhI2NmQbT8PgAyTXL50t0O6S+H40Ww97ilJBeDC34=
234 </data> 264 </data>
235 </dict> 265 </dict>
236 <key>Headers/UIColor+BDFaceColorUtils.h</key> 266 <key>Headers/UIColor+BDFaceColorUtils.h</key>
1 -{"onlineImageQuality":"NORMAL","onlineLivenessQuality":"NORMAL","version":"3.0.0","solutionType":"2","planId":"18602","faceActionNum":2,"faceLivenessType":1,"faceVerifyAction":["mouth","eye"],"livenessThreshold":0.8,"collection":2,"policeCheck":0,"policeThreshold":80,"localImageQuality":{"loose":{},"normal":{"minIllum":40,"maxIllum":220,"leftEyeOcclusion":0.8,"rightEyeOcclusion":0.8,"noseOcclusion":0.8,"mouseOcclusion":0.8,"leftContourOcclusion":0.8,"rightContourOcclusion":0.8,"chinOcclusion":0.8,"pitch":20,"yaw":18,"roll":20,"blur":0.6},"strict":{}}} 1 +{"onlineImageQuality":"NORMAL","onlineLivenessQuality":"LOW","version":"3.0.0","solutionType":"2","planId":"18602","faceActionNum":2,"faceLivenessType":0,"faceVerifyAction":["eye","mouth"],"livenessThreshold":0.8,"collection":1,"policeCheck":0,"policeThreshold":80,"localImageQuality":{"loose":{},"normal":{"minIllum":40,"maxIllum":220,"leftEyeOcclusion":0.8,"rightEyeOcclusion":0.8,"noseOcclusion":0.8,"mouseOcclusion":0.8,"leftContourOcclusion":0.8,"rightContourOcclusion":0.8,"chinOcclusion":0.8,"pitch":20,"yaw":18,"roll":20,"blur":0.6},"strict":{}}}