前期准备工作参考:React native 接入百度AI活体检测、人脸识别 Android版本
iOS配置
1、将FaceSDK里面的文件导入到iOS项目
添加完之后是这样的
2、选择链接C++标准库
3、如果没有使用pod管理第三方库的话,请在Build Setting >Linking > Other Linker Flags 上面加入 –ObjC 选项。如果用了pod请忽略,因为pod会自动添加上
添加拍照权限
4.集成RN桥接文件
将红框内的文件放入项目文件夹(注意要先拖到项目对应文件夹中,再拖入到Xcode),拖入后如下图所示
- 把FaceParameterConfig.h里面的授权license信息改成自己的,我们下载下来的SDK就有这些信息,直接把这个文件内容拷贝过去即可。
5、在项目的 AppDelegate.m 文件中添加SDK的初始化代码
#import "IDLFaceSDK/IDLFaceSDK.h"
#import "FaceParameterConfig.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
.....省略
[self faceToFaceConfig];
.....省略
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
- (void)faceToFaceConfig{
NSString* licensePath = [[NSBundle mainBundle] pathForResource:FACE_LICENSE_NAME ofType:FACE_LICENSE_SUFFIX];
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:licensePath], @"license文件路径不对,请仔细查看文档");
[[FaceSDKManager sharedInstance] setLicenseID:FACE_LICENSE_ID andLocalLicenceFile:licensePath];
NSLog(@"canWork = %d",[[FaceSDKManager sharedInstance] canWork]);
}
6、配置头文件路径
7、配置编译项
到此就已经配置完成了,RN项目中调用活体检测的方法参考:
React native 接入百度AI活体检测、人脸识别 Android版本
遇到的问题:
- iOS接入百度活体检测后项目就无法在模拟器运行
询问百度客服回复只能真机运行。。。我目前没有找到解决方法,如果大家找到了解决方案评论区告诉我下,谢谢!