一:简介
快捷支付涉及到方方面面,同时安全问题既是用户所关心的,也是制作者不容忽视的重要部分。比如涉及到支付和金钱的app,商户端app等等,都需要进行实名认证,实名认证可以通过银行卡认证和身份证认证。通常办法是通过上传照片,并且手动输入基本信息进行认证,这种方法不仅操作复杂,而且容易出错。网上很多资源,识别率低,速度慢,用户体验很差。今天我就和大家介绍一下我使用的方法,可以快速、高效的识别中国身份证信息。随后会陆续更新银行卡识别。
二:原理
经实践发现,只要身份证号码处于摄像头预览图层中时,即不用完全对准身份证也可以读取到身份证号码,但此时截取到的身份证图像并不完整。
为获取到比较完整的身份证图像,经多次实践发现,当身份证人像大约位于拍摄框中的右上区域时,此时可获取到比较完整的身份证图像。
因此,在拍摄框中右上区域加了一个人像区域提示框,并将该区域设为扫描人脸的区域,只有该区域扫描到身份证上的人脸时(确保用户的确将身份证人像对准了拍摄框中的人像框),才执行读取身份证信息的操作。
三:项目展示
扫描页面截图
信息展示页面
四:Demo接入流程
2.打开项目将下面的文件拷贝到自己的工程中:
libexidcard
FBYTool
FBYCategory
FBYModel
FBYView
FBYBase
3.添加配置
在你的项目的Info.plist文件中,添加权限描述(Key Value)
Privacy - Camera Usage Description 是否允许访问相机
Privacy - Photo Library Usage Description 是否允许访问相册
如下图:
4. 项目设置
选择项目名字,选择Build Settings,搜索enable bitcode 设置为NO即可。
5. 项目引用
在项目中需要使用的页面,增加引用代码:
1#import"ViewController.h"
在点击扫描身份证的点击事件中,跳转页面:
ViewController *vc = [[ViewController alloc]init];
[self.navigationController pushViewController:vc animated:YES];
到此项目就接入完成!!!