快速高效 | iOS银行卡识别

简介: 快捷支付涉及到方方面面,同时安全问题既是用户所关心的,也是制作者不容忽视的重要部分。比如涉及到支付和金钱的app,商户端app等等,都需要进行实名认证,实名认证可以通过银行卡认证和身份证认证。

一:简介

快捷支付涉及到方方面面,同时安全问题既是用户所关心的,也是制作者不容忽视的重要部分。
比如涉及到支付和金钱的app,商户端app等等,都需要进行实名认证,实名认证可以通过银行卡认证和身份证认证。
今天我就和大家介绍一下银行卡识别功能,这个方法是通过图像识别,可以快速、高效的识别银行卡信息。

二:原理

经实践发现,只要银行卡处于摄像头预览图层中并且银行卡号与识别线重合,即不用完全对准银行卡也可以读取到银行卡号。

与身份证识别不同的是,银行卡识别主要识别银行卡号,因此获取到的图像主要是银行卡号位置。

在获取到银行卡号之后,通过信息对比获取到银行卡的开户行。在银行卡信息页面可以展示出银行卡识别截图、银行卡开户行、银行卡号。

三:项目展示

1.扫描银行卡页面

扫描银行卡页面

2.信息展示页面

信息展示页面

四:Demo接入流程

1.导入ReactiveCocoa框架

使用ReactiveCocoa对银行卡识别出的信息回调。

添加ReactiveCocoa框架最简单的方法就是用CocoaPods导入。

如果你从没用过CocoaPods,可以参考CocoaPods | iOS详细使用说明这篇教程吧。请至少看完教程中初始化的步骤,这样你才能安装框架。

如果不想用CocoaPods,你仍然可以使用ReactiveCocoa,具体查看Github文档中引入ReactiveCocoa的步骤描述。

这里简单介绍CocoaPods导入:
键盘输入 i,进入编辑模式,输入下面代码

platform :ios, '8.0'
use_frameworks!

def pods
  pod 'ReactiveCocoa', '2.3.1'
end

target '项目名称' do
  pods
end

下载框架即可。

2.添加配置

在你的项目的Info.plist文件中,添加权限描述(Key Value)
Privacy - Camera Usage Description 是否允许访问相机
Privacy - Photo Library Usage Description 是否允许访问相册
如下图:
plist

3. 项目设置

  1. 选择项目名字,选择Build Settings,搜索enable bitcode 设置为NO。
  2. xcode8上边编译可能会遇到arm64错误, 选择项目名字,选择Build Settings,搜索Enable Testability 设置为NO。

4.首先把demo下载下来

源码Demo获取方法

关注 【网罗开发】微信公众号,回复【银行卡】便可领取。

网罗天下方法,方便你我开发,所有文档会持续更新,欢迎关注一起成长!

demo截图

5.打开项目将下面的文件拷贝到自己的工程中:

  • bank_card
  • BankData

6. 项目引用

在项目中需要使用的页面,增加引用代码:

#import "FBYBankCardViewController.h"

在点击扫描银行卡的点击事件中,跳转页面:

FBYBankCardViewController *bcvc = [[FBYBankCardViewController alloc]init];

[self.navigationController pushViewController:bcvc animated:YES];

到此项目就接入完成!!!

希望可以帮助大家,如有问题可加QQ技术交流群: 668562416

如果哪里有什么不对或者不足的地方,还望读者多多提意见或建议

如需转载请联系我,经过授权方可转载,谢谢

本篇已同步到个人博客:FBY展菲

目录
相关文章
|
iOS开发 编解码
IOS设计指南
以前整理过一份关于关于《IOS应用提交时所需要的ICON》,之后IPhone 6/Plus出来,又多了二种尺寸,近期看到国外的一家网站上整理出比较全的尺寸,以及在IOS设计上的一些参考建议。 原文链接: 《The iOS Design Guidelines》   分辨率和显示规格   ...
723 0
|
安全 开发工具
【转】适配iOS9系统
昨天升级了Xcode 7 , 遇到的问题,从友盟的帮助文档看到,简单的第三方适配如下: 在新发布的iOS9系统上围绕用户数据的安全性和体验新增了一些安全特性,同时也影响了应用的实现以及集成方式,为了保证良好的稳定性和体验,需要做如下处理: 1. HTTP传输安全 以iOS9 SDK编译的工程会默认以SSL安全协议进行网络传输,即HTTPS,如果依然使用HTTP协议请求网络会报系统异常并中断请求。
834 0
|
iOS开发
【Xamarin.iOS】使用iOS 11进行大型游戏
iOS 11中更明显的用户界面更改之一是系统应用程序中使用的较大的标题,从App Store和Apple Music到Notes和Mail。 健康和联络应用如下所示: 当内容被滚动时,该标题在屏幕上显示动画并缩小到正常大小的导航栏,以便有效地使用屏幕空间。
1046 0
|
缓存 监控 前端开发
|
存储 缓存 iOS开发
提高iOS性能的建议和技巧
当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户也希望如此,但是如果你的app表现的反应迟钝或者很慢就会让你得到不好的评论。      然而,由于IOS设备的限制有时很难工作得很正确。我们开发时有很多需要我们记住这些容易忘记的决定对性能的影响。      这是为什么我写这篇文章的原因。这篇文章用备忘录的形式集合了25个技巧和诀窍可以用来提高你的app性
1336 0
|
测试技术 API 开发工具
实现iOS自动化
要实现iOS自动化,你可以使用Appium框架,它支持iOS应用程序自动化。Appium允许你编写Python脚本来模拟用户在iOS设备或模拟器上执行各种操作,如点击、滑动、输入文本等。以下是一个基本的步骤来实现iOS自动化:
443 0
|
iOS开发 开发者
聊聊 iOS 开发
做开发到一定程度后就会面临“转职”,是转向更深的技术还是工程管理值得考虑啊。。 行业现状 虽然近几年有大量的开发者涌入移动端,社会上的各种培训机构也越来越多,但是优秀的 iOS 开发者...
1653 0
|
iOS开发 API
iOS 横屏竖屏开发相关
引言: iPhone的横屏竖屏针对iOS系统版本分为两种开发方式: 一种是iOS 6之前的使用模式 一种是iOS6的新模式. 两者的区别还是蛮大的. 参考: 1:IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统) http://blog.
1118 0
|
iOS开发 数据安全/隐私保护 Java