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

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

作者: 红牛豆豆 | 来源:发表于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