IOS 之扫描银行卡号DEMO
通过扫描银行卡,获取银行卡号,在网上搜过后,选用了card.io这个SDK,过程如下:
(1)下载Card.io
Card.io是让手机摄像头获取信用卡的信息,中间利用了OCR(光学字符识别)的扫描技术返回结果,它还推出了SDK(软件开发包),让开发者们可以把card.io添加到自己的应用当中。可以在https://github.com/paypal/PayPal-iOS-SDK下载最新的SDK
(2)添加到项目里
1、将下载的SDK包里名为CardIO的文件拖到工程里,在TARGETS-Build Phases - Link Binary With Librarys添加下面依赖库
AudioToolbox
AVFoundation
CoreGraphics
CoreMedia
CoreVideo
Foundation
MobileCoreServices
OpenGLES
QuartzCore
Security
UIKit
如果是xcode5或者更新的版本,只需要添加下面的库
AVFoundation
AudioToolbox
CoreMedia
MobileCoreServices
并且保证Build Settings里面这两项都是YES:
Enable Modules (C and Objective-C)
Link Frameworks Automatically
*
代码说明:
开始触发扫描
- (IBAction)BeginActionCardID:(id)sender {CardIOPaymentViewController *scanViewController = [[CardIOPaymentViewController alloc] initWithPaymentDelegate:self];scanViewController.modalPresentationStyle = UIModalPresentationFormSheet;[self presentViewController:scanViewController animated:YES completion:nil];
}
代理方法
#pragma mark - CardIOPaymentViewControllerDelegate
//扫描完成
- (void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo *)info inPaymentViewController:(CardIOPaymentViewController *)paymentViewController {NSLog(@"Scan succeeded with info: %@", info);// Do whatever needs to be done to deliver the purchased items.[self dismissViewControllerAnimated:YES completion:nil];self.infoLabel.text = [NSString stringWithFormat:@"Received card info. Number: %@, expiry: %02lu/%lu, cvv: %@.", info.redactedCardNumber, (unsigned long)info.expiryMonth, (unsigned long)info.expiryYear, info.cvv];
}
//用户取消扫描
- (void)userDidCancelPaymentViewController:(CardIOPaymentViewController *)paymentViewController {NSLog(@"User cancelled scan");[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated];[CardIOUtilities preload];
}
遇到的问题解决方法:
1、遇到很多的错误,但是大多数都是没有导入依赖库,但是当全部导入依赖库后,还是会报错,而且错误达到了20多个,这个就得需要设置了,看下列解决方案。
这么多看着就是揪心的,下面就是解决方法。
在TARGETS-Build Settings添加 -lc++ 到Other Linker Flags
2、问题解决了,但是会在点击调用相机的时候会崩溃,又得解决问题;
下面是打印的奔溃日志:
从奔溃日志里面可以看到解决的方法;
在TARGETS-Build Settings添加 -ObjC 到Other Linker Flags
就这样就ok了
IOS 之扫描银行卡号DEMO相关推荐
- 插件代码_我们开源了一款 SonarQube iOS 代码扫描插件
背景: 我们在公司(好未来)内部开发了一套基于 SonarQube 的静态代码扫描服务,得益于 SonarQube 开源版本本身的功能,我们可以直接复用支持主流的编程语言,但 SonarQube 的开 ...
- iOS 开发 - 播放器Demo开发记录
iOS 开发 - 播放器Demo开发记录 标签: ios 2014-12-22 14:14 518人阅读 评论(0) 收藏 举报 分类: Mac OS X(50) 版权声明:本文为博主原创文章,未 ...
- iOS手机扫描识别名片技术
iOS手机扫描识别名片技术SDK 一.iOS手机扫描识别名片技术应用背景 这些年,随着移动互联的发展,APP应用成爆发式的增长,在很多APP中都涉及到对名片信息的录入,如移动CRM.移动端OA,移动访 ...
- SonarQube iOS 代码扫描插件(Objective-C/Swift/Infer/sonar-swift)
仓库地址:https://github.com/tal-tech/sonar-swift 欢迎 Star. 介绍 静态代码扫描是一种检测项目代码的方式,能够在不运行代码的情况下对代码进行扫描,可以扫描 ...
- 想用二维码推广应用,如何保证 Andriod 用户和 iOS 用户扫描同一个二维码后获得相应的 App ?
想用二维码推广应用,如何保证 Andriod 用户和 iOS 用户扫描同一个二维码后获得相应的 App ? 这个问题纠结了好些天,后来想到的办法是:把桥页地址生成二维码,扫描后跳到桥页,在桥页判断平台 ...
- iOS中 扫描二维码/生成二维码详解
最近大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 指示根视图: ? 1 self.window.rootViewController = [[UINav ...
- ffmpeg for iOS,并调试iFrameExtractor demo
说明:本文部分内容参考互联网,亲自调整测试. 测试视频地址:http://livecdn.cdbs.com.cn/fmvideo.flv (MBD,cnblogs上传图片功能都不能用了,还去sina ...
- iOS 开发--github的demo
令人惊讶的是,YYText 虽然代码量很大(超过一万行),但它只是 ibireme 的作品之一.ibireme 利用业余时间完成了 YYKit 工具库,包括: YYModel - 高性能的 iOS J ...
- iOS - Card Identification 银行卡号识别
1.CardIO 识别 框架 GitHub 下载地址 配置 1.把框架整个拉进自己的工程,然后在 TARGETS => Build Phases => Link Binary With L ...
最新文章
- 结构感知图像修复:ICCV2019论文解析
- log函数 oracle power_数学函数
- Xamarin XAML语言教程构建进度条ProgressBar
- java rtmp m3u8_vue常用插件之视频播放(rtmp m3u8)
- Spring Annotations我从没有机会使用第2部分:@ConfigurationProperties
- centos mysql pid_centos7 mysql The server quit without updating PID file(错误解决)
- php 查看磁盘挂载,linux如何查看磁盘使用情况
- Servlet超详解+流程图
- 如何正确使用广告素材、优化Facebook广告
- 自动驾驶 6-4 高级转向控制 - MPC Advanced Steering Control - MPC
- 糖豆人终极淘汰赛服务器维护,糖豆人终极淘汰赛常见问题解决方法一览 糖豆人终极淘汰赛常见问题解决方法汇总...
- ASP.net 密码加密和使用密码登录
- 安装nginx,php8,nfs,oralce19c客户端
- 【数据库】一篇文章搞掂:Oracle数据库
- vs 设置护眼背景颜色
- 计算机网络 划分子网构造超网
- linux服务器集群群发邮件,爱博邮件群发服务器(Linux版本)
- html表单验证方法,简述HTML交互式表单验证方法
- nrf52840开发笔记(一)------开发环境搭建
- poi画饼图、折线图等图表和设置颜色字体等
热门文章
- android ApplicationInfo类
- iOS14 内购(IAP) applicationUsername 获取订单号为nil
- Java证书哪个含金量高?
- 如何用pytorch做文本摘要生成任务(加载数据集、T5 模型参数、微调、保存和测试模型,以及ROUGE分数计算)
- python中的二维数组与一维数组,矩阵和一维数组之间的运算
- wait_event
- 用Java语言计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
- 神之编辑器Emacs 编辑器之神Vim
- 2018年3月十大好玩的CODE PEN
- uniapp 沉浸式状态栏