使用指南

1.SDK 目录结构

目录

1.1 如何运行Demo

看下你拿到手上的Demo结构如下图,点击项目即可运行

1.2 运行Demo的相关配置

该配置只针对在线版本,离线版6.0.0版本以后不在提供SDK。
配置app_id和aap_Key

完成以上配置,运行即可。

2.将SDK集成到开发环境

使用 SDK 前,首先需要将其集成到您的开发环境中。

项目的开发环境需要在 Xcode 6.0版本及以上,运行环境需要 iOS9.0 及以上,支持机型 iPhone 4s以上。下文将说明开发中需要的详细操作。

2.1 配置开发环境

2.1.1 编译选项设置

2.1.1.1 需要添加 Xcode 链接器参数:-ObjC 和 -lstdc++。

添加 -ObjC 参数后链接器可以把静态库中所有的 Objective-C 类和分类都加载到最后的可执行文件中。

添加 -lstdc++ 参数是由于我们的静态库中需要 c++ 标准库支持。

添加方法:

TARGETS -> Build Settings -> Linking -> Other Linker Flags 中添加 -lstdc++ 和 -ObjC 。

示例介绍图

2.1.1.2 需要添加系统的编译链接库

示例介绍图

2.1.1.3 如果使用的开发工具是Xcode 7.0以上版本,需要手动关闭Bitcode。

步骤:

TARGETS -> BuildSettings -> Enable Bitcode 设置为 NO。

示例介绍图

2.2 将SDK集成到项目中

2.2.1 将demo中指定的文件夹(OCRLib)加入到已经配置好环境的xcode项目(以下称项目)中

打开我们提供的Demo,我们的Demo提供的是重UI,高度自定义UI的用户请参考API接口; LFBankCard.h和LFIDCard.h
接下来我们看如何将代码集成到环境中。
1、打开我们提给您的Demo工程文件夹,你将看到如下的结构 示例介绍图 其中includ文件夹中包含BankCard和IDCard UI相关的文件 示例介绍图 2、将OCRLib文件夹加入工程中,选中如图的三项。 示例介绍图

3、在项目中创建调用银行卡识别和身份证识别按钮,实现点击方法 示例介绍图


UIButton * bankBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
    [bankBtn setBackgroundColor:[UIColor grayColor]];
    [bankBtn setTitle:@"银行卡扫描" forState:UIControlStateNormal];
    [bankBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    bankBtn.center = self.view.center;
    [bankBtn addTarget:self action:@selector(bankBtnClick) forControlEvents:UIControlEventTouchUpInside];
    [self.view  addSubview:bankBtn];

    UIButton * IDBtn = [[UIButton alloc] initWithFrame:CGRectMake(30, 300, 100, 50)];
    [IDBtn setBackgroundColor:[UIColor grayColor]];
    [IDBtn setTitle:@"身份证扫描" forState:UIControlStateNormal];
    [IDBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

    [IDBtn addTarget:self action:@selector(IDBtnClick) forControlEvents:UIControlEventTouchUpInside];
    [self.view  addSubview:IDBtn];

6、实现按钮的点击方法 示例介绍图

- (void)bankBtnClick{
    LFBankCardScannerController *bankVc = [[LFBankCardScannerController alloc] initWithOrientation:AVCaptureVideoOrientationPortrait licensePath:nil shouldFullCard:NO];
    bankVc.delegate = self;
    bankVc.showAnimation = YES;
    // 需要AppID 和 AppKey
    bankVc.appID = @"";
    bankVc.appSecret = @"";
    [self presentViewController:bankVc animated:YES completion:nil];
}
- (void)IDBtnClick{
    LFIDCardScannerController *vc = [[LFIDCardScannerController alloc] initWithOrientation:AVCaptureVideoOrientationPortrait licensePath:nil shouldFullCard:NO];
    vc.delegate = self;
    // 需要AppID 和 AppKey
    vc.appID = @"";
    vc.appSecret = @"";
    vc.showAnimation = YES;
    [self presentViewController:vc animated:YES completion:nil];
}

7、实现代理方法,这里只示例银行卡。上传数据请参考Demo中的详细代码。 示例介绍图

- (void)getCardResult:(LFBankCard *)bankcard{
    if (bankcard){
        NSLog(@"这里获取到加密后的数据d,调用上传即可");
    }
}

- (void)didCancel{
    NSLog(@"取消回调,必须实现");
    [self dismissViewControllerAnimated:YES completion:nil];
}

2.3 配置 APP_IDAPP_SECRET

获取APP_ID 和 APP_SECRET
1、访问Linkface官网[https://www.linkface.cn] (#https://www.linkface.cn),点击右上角“管理中心”;
2、按照流程提示完成账号的注册及登录,添加应用;
3、在应用管理界面,可以看到您应用的API ID、API SECRET,即SDK中需要使用的APP_KEY,、 APP_SECRET。
示例介绍图 在使用SDK上传成功数据之前,需要先配置好您的 APP_ID 和 APP_SECRET。

请参考下面的代码:

2.2.1 在Demo中LFFrontPageViewController.m中设置 id 和 secret

#error 请删除此行, 在线版填充api_id、api_secret、urlString值
    NSString *api_id = @"";
    NSString *api_secret = @"";

2.3在Xcode8上调试iOS9以上系统时,调用相机功能时,在info.plist文件下添加隐私权限。

 <key>NSCameraUsageDescription</key>
 <string>cameraDesciption</string>

2.4添加http访问权限。

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

2.5 初始化你的SDK

在初始化时分别调用初始化的各自初始化方法即可;这里LFBankCrad举例: modelPath:模型的名称,如果传nil,默认是model的名称是我们提供的demo中的名称。 extraPath:可传nil。

LFBankCard *bankcard = [[LFBankCard alloc] initWithModelPath:modelPath extraPath:extraPath];

2.6 其他

1、如果你集成了其中一个SDK,并且完成了动态更新机制,SDK正常运行,再添加另外一个SDK时,如果你不想修改动态更新的逻辑代码;则你不需要关心这部分代码;正常初始化新添加SDK即可。

results matching ""

    No results matching ""