FAQ
Q1:报”算法SDK初始化失败:可能是授权文件或模型路径错误,SDK权限过期,包名绑定错误“?
- 检查拿到的授权文件是否绑定了当前应用的BundleID;
- 检查资源文件是否导入进工程了;
- 检查手机是否设置了非自动获取时间;
- 确认DFLivenessController读取的授权文件名是否和工程中的授权文件文件名一致。
NSString *licPath = [[NSBundle mainBundle] pathForResource:@"DFLicense" ofType:@""];
Q2:编译不通过,报错”Undefined symbols for architecture arm64: "std::nothrow", referenced from:“?
- 检查资源文件是否全部导入工程;
- 检查编译选项Xcode–>Targets–>Build Setting–>Linking–>Other Linker Flags–>没有添加"-lstdc++"是否添加
Q3:静默活体检测成功返回的数据有哪些?
直接使用封装控制器DFLivenessController时,在代理回调
- (void)livenessDidSuccessfulGetData:(NSData *)encryTarData
dfImages:(NSArray *)arrDFImage
successScore:(float)successScore;
- (void)livenessDidSuccessfulGetData:(NSData *)encryTarData
dfImages:(NSArray *)arrDFImage
successScore:(float)successScore
isHack:(BOOL)isHack;
返回加密protobuf文件(encryTarData),检测成功时的图片数据。当设置autoAntiHack为YES时,还会返回是否是hack用户。
Q4:如何上传protobuf文件进行antiHack校验和设置api_id、api_secret?
如果设置autoAntiHack为NO,则在静默活体成功的回调中
- (void)livenessDidSuccessfulGetData:(NSData *)encryTarData
dfImages:(NSArray *)arrDFImage
successScore:(float)successScore;
拿到protobuf文件(encryTarData),然后调用服务端接口protobuf放到请求体中,并在请求头中设置对应的api_id、api_secret上传即可得到分数,默认阈值0.98,超过认为是hack用户。