iOS - Card Identification 银行卡号识别
1、CardIO 识别
框架 GitHub 下载地址
-
配置
-
1、把框架整个拉进自己的工程,然后在 TARGETS => Build Phases => Link Binary With Libraries 里边分别加入下面这几个框架。
Accelerate.framework MobileCoreServices.framework CoreMedia.framework AudioToolbox.framework AVFoundation.framework
-
2、在TARGETS => Build Settings => Other Linker Flags 中添加 -ObjC 和 -lc++ 。
-
3、在 iOS8 + 系统中使用相机需要在 Info.plist 中添加 Privacy - Camera Usage Description,并设置其值。
-
4、在我们需要调用的文件中导入
// 导入头文件 #import "CardIO.h" #import "CardIOPaymentViewControllerDelegate.h // 遵守协议 <CardIOPaymentViewControllerDelegate>
-
-
开始扫描银行卡
[CardIOUtilities preload]; CardIOPaymentViewController *scanViewController = [[CardIOPaymentViewController alloc] initWithPaymentDelegate:self]; [self presentViewController:scanViewController animated:YES completion:nil];
-
取消扫描
// CardIOPaymentViewControllerDelegate 协议方法 - (void)userDidCancelPaymentViewController:(CardIOPaymentViewController *)paymentViewController { [[[UIAlertView alloc] initWithTitle:@"User cancelled sca" message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil] show]; [self dismissViewControllerAnimated:YES completion:nil]; }
-
扫描完成
// CardIOPaymentViewControllerDelegate 协议方法 - (void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo *)cardInfo inPaymentViewController:(CardIOPaymentViewController *)paymentViewController { // 获取扫描结果 // cardNumber 是扫描的银行卡号,显示的是完整号码,而 redactedCardNumber 只显示银行卡后四位,前面的用 * 代替了,返回的银行卡号都没有空格 NSString *redactedCardNumber = cardInfo.cardNumber; // 卡号 NSUInteger expiryMonth = cardInfo.expiryMonth; // 月 NSUInteger expiryYear = cardInfo.expiryYear; // 年 NSString *cvv = cardInfo.cvv; // CVV 码 // 显示扫描结果 NSString *msg = [NSString stringWithFormat:@"Number: %@\n\n expiry: %02lu/%lu\n\n cvv: %@", [self dealCardNumber:redactedCardNumber], expiryMonth, expiryYear, cvv]; [[[UIAlertView alloc] initWithTitle:@"Received card info" message:msg delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil] show]; [self dismissViewControllerAnimated:YES completion:nil]; }
// 对银行卡号进行每隔四位加空格处理,自定义方法 - (NSString *)dealCardNumber:(NSString *)cardNumber { NSString *strTem = [cardNumber stringByReplacingOccurrencesOfString:@" " withString:@""]; NSString *strTem2 = @""; if (strTem.length % 4 == 0) { NSUInteger count = strTem.length / 4; for (int i = 0; i < count; i++) { NSString *str = [strTem substringWithRange:NSMakeRange(i * 4, 4)]; strTem2 = [strTem2 stringByAppendingString:[NSString stringWithFormat:@"%@ ", str]]; } } else { NSUInteger count = strTem.length / 4; for (int j = 0; j <= count; j++) { if (j == count) { NSString *str = [strTem substringWithRange:NSMakeRange(j * 4, strTem.length % 4)]; strTem2 = [strTem2 stringByAppendingString:[NSString stringWithFormat:@"%@ ", str]]; } else { NSString *str = [strTem substringWithRange:NSMakeRange(j * 4, 4)]; strTem2 = [strTem2 stringByAppendingString:[NSString stringWithFormat:@"%@ ", str]]; } } } return strTem2; }
-
效果

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
iOS - QRCode 二维码
1、QRCode 在 iOS7 以前,在 iOS 中实现二维码和条形码扫描,我们所知的有,两大开源组件 ZBar 与 ZXing。iOS7 之后可以利用系统原生 API 生成二维码, iOS8 之后可以生成条形码, 系统默认生成的颜色是黑色。 1、ZBar 在扫描的灵敏度上,和内存的使用上相对于 ZXing 上都是较优的,但是对于 “圆角二维码” 的扫描确很困难。 2、ZXing 是 Google Code 上的一个开源的条形码扫描库,是用 java 设计的,连 Google Glass 都在使用的。但有人为了追求更高效率以及可移植性,出现了 c++ port。Github 上的 Objectivc-C port,其实就是用 OC 代码封装了一下而已,而且已经停止维护。这样效率非常低,在 instrument 下面可以看到 CPU 和内存疯涨,在内存小的机器上很容易崩溃。 3、AVFoundation 无论在扫描灵敏度和性能上来说都是最优的,所以毫无疑问我们应该切换到 AVFoundation,需要兼容 iOS 6 或之前的版本可以用 ZBar 或 ZXing 代替。 在 iOS8 +...
- 下一篇
我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍
GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/Android-Librarys-Top-100.md 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者快速了解当前一些流行的 Android 开源库. iOS 版本的在此: https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md 感谢 @GitHubDaily 的大力支持, 以及 @stormzhang 的指点 若有任何疑问可通过邮件或微博联系我 项目名称 项目简介 1.react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 J...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装