美文网首页
虹软人脸识别最全的配置流程

虹软人脸识别最全的配置流程

作者: 红牛豆豆 | 来源:发表于2019-11-05 16:16 被阅读0次

因公司要求使用虹软人脸识别,所以发现虹软人脸识别的文档和demo并不是很友好,本人一边跳坑一边查了很多资料,现在记录下配置流程,希望能给大家一些帮助。

首先先去虹软的官网下载SDK,这里不做赘述。

配置流程如下:

1.有个libstdc++.6.0.9.tbd库是缺失的,需要先去下载:链接: https://pan.baidu.com/s/14ArFzkBQzuXmwLw1DEBHpQ 提取码: w99r。

下载完后保存到如下路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib下(这是真机调试)

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib(模拟器位置)

2.创建一个新的工程,导入framework,必须在如下路径导入:

图1:

3.添加如下库:

图2:

4.由于SDK采用了Objective-C++实现,需要保证工程中至少有一个.mm 后缀的源文件(可以将任意一个.m后缀的文件改名为.mm);或者在工程属性中指定编译方式,即如图5箭头2所示,选中顶部菜单“Build Setting”,在过滤框中输入“Compile Sources As”,找到 Compile Sources As,并将其设置为"Objective-C++”;

5.选择项目中的Info.plist文件,新增一个属性App Transport Security Settings,在该属性下添加Allow Arbitrary Loads类型Boolean,值设为YES,如下图红框所示:

图3:

6.配置相机相册:

原demo里面info.list 标注的是 Privacy -Photo Library Additions Usage Description, 正确的是: Privacy - Photo Library Usage Description 值为:“App需要访问您的相册”

配置访问相机权限:添加“Privacy - Camera Usage Description”

值设为“cameraDesciption”如下图:

图4:

7.上述配置修改好之后,将Demo中ViewController.mm文件中的appid、sdkkey替换为从官网申请的APP_ID、SDK_KEY;

Assets.xcassets添加图片,导入头文件(拷贝viewcontroller、AppDelegate和其他的代码),注:mainstoreyboard里新建的viewcontroller直接拷贝到新项目里就行,如下图:

图5:

8.运行程序。会报错,需要手动创建.xcdatamodeld表,先删除拷贝的代码,然后按如下方法创建:https://blog.csdn.net/sundaysme/article/details/81916098

然后按照如下方法生成新的文件:

https://blog.csdn.net/feng512275/article/details/72829580,并导出,其中四个重复的.m文件重复引用需要删除。需要注意的是kAFRModelName要与xxx.xcdatamodeld的名字一致,最好创建coredata的时候起名就叫“FSDKFR.xcdatamodeld”。

9.appdelegate里面需要添加如下代码:

AppDelegate.h:

#import <CoreData/CoreData.h>

添加属性和方法:

@property (readonly, strong) NSPersistentContainer *persistentContainer; -(void)saveContext;

AppDelegate.m:

#pragma mark - Core Data stack

@synthesize persistentContainer = _persistentContainer; - (NSPersistentContainer *)persistentContainer {  

    @synchronized (self) {      

           if (_persistentContainer == nil) {          

                _persistentContainer = [[NSPersistentContainer alloc]                 initWithName:@"FaceTest3"];          

               [_persistentContainer loadPersistentStoresWithCompletionHandler:^(NSPersistentStoreDescription *storeDescription, NSError *error) {              

                     if (error != nil) {                  

                                 NSLog(@"Unresolved error %@, %@", error, error.userInfo);        

                                 abort();              

                     }          

               }];        

          }    

      }         

      return _persistentContainer;

}

#pragma mark - Core Data Saving support

- (void)saveContext {    

         NSManagedObjectContext *context = self.persistentContainer.viewContext;  

        NSError *error = nil;    

        if ([context hasChanges] && ![context save:&error]) {      

                 NSLog(@"Unresolved error %@, %@", error, error.userInfo);    

                abort();    

      }

}

10.报错以下问题:

图6:

需要再添加3个静态库:

图7:

11.报错以下问题:

图8:

需要把bitcode设为NO,如下图:

图9:

再次clean,运行成功了。

相关文章

网友评论

      本文标题:虹软人脸识别最全的配置流程

      本文链接:https://www.haomeiwen.com/subject/gztebctx.html