iOS开发之OCR光学识别储蓄卡以及信用卡

转载 2016年08月29日 09:22:53

最近由于公司需要一个扫描银行卡获取卡号的功能,网上找了很多相关的资料,完全扫描银行卡获取卡号信息的都是价格贵的不得了的,而且仅仅只是授权而已,在此咱退而求次,找到一个可以扫描信用卡的第三方框架,给大家伙分享一下,只能扫描信用卡......o.0。框架的名字叫CardIO


下载地址:https://github.com/AllLuckly/card.io-iOS-SDK


在这里主要给大家演示一下怎么集成的,各位看官可得注意咯!


我的xcode是7.1版本的,首先是把框架整个拉进自己的工程,然后在TARGETS---Build Phases---Link Binary With Libraries里边分别加入下面这几个框架


  • Accelerate.framework

  • MobileCoreServices.framework

  • CoreMedia.framework

  • AudioToolbox.framework

  • AVFoundation.framework


再在TARGETS---Build Settings---Other Linker Flags中添加-ObjC和-lc++


然后在我们需要调用的VC中导入头文件#import "CardIO.h"和#import "CardIOPaymentViewControllerDelegate.h"加上代理CardIOPaymentViewControllerDelegate


然后是实现的方法


OC版


- (void)viewDidLoad {
[super viewDidLoad];
[CardIOUtilities preload];
}
//开始调用扫描
- (IBAction)begin:(id)sender {
CardIOPaymentViewController *scanViewController = [[CardIOPaymentViewController alloc] initWithPaymentDelegate:self];
[self presentViewController:scanViewController animated:YES completion:nil];
}
//取消扫描
- (void)userDidCancelPaymentViewController:(CardIOPaymentViewController *)scanViewController
{
[scanViewController dismissViewControllerAnimated:YES completion:nil];
}
//扫描完成
-(void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo *)info inPaymentViewController:(CardIOPaymentViewController *)scanViewController
{
//扫描结果
NSLog(@"Received card info. Number: %@, expiry: %02i/%i, cvv: %@.", info.redactedCardNumber, info.expiryMonth, info.expiryYear, info.cvv);
[scanViewController dismissViewControllerAnimated:YES completion:nil];
}


SWIFT版


import UIKit
class ViewController: UIViewController, CardIOPaymentViewControllerDelegate {
@IBOutlet weak var resultLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
CardIOUtilities.preload()
}
//开始调用扫描
@IBAction func scanCard(sender: AnyObject) {
let cardIOVC = CardIOPaymentViewController(paymentDelegate: self)
cardIOVC.modalPresentationStyle = .FormSheet
presentViewController(cardIOVC, animated: true, completion: nil)
}
//取消扫描
func userDidCancelPaymentViewController(paymentViewController: CardIOPaymentViewController!) {
resultLabel.text = "user canceled"
paymentViewController?.dismissViewControllerAnimated(true, completion: nil)
}
//扫描完成
func userDidProvideCreditCardInfo(cardInfo: CardIOCreditCardInfo!, inPaymentViewController paymentViewController: CardIOPaymentViewController!) {
if let info = cardInfo {
let str = NSString(format: "Received card info.\\\\n Number: %@\\\\n expiry: %02lu/%lu\\\\n cvv: %@.", info.redactedCardNumber, info.expiryMonth, info.expiryYear, info.cvv)
resultLabel.text = str as String
}
paymentViewController?.dismissViewControllerAnimated(true, completion: nil)
}
}


到此就大功告成了,希望可以找到扫描银行卡比较好用的第三方。最终的效果,识别的非常准确哦

相关文章推荐

iOS开发之OCR光学识别储蓄卡以及信用卡

最近由于公司需要一个扫描银行卡获取卡号的功能,网上找了很多相关的资料,完全扫描银行卡 获取卡号信息的都是价格贵的不得了的,而且仅仅只是授权而已,在此咱退而求次,找到一个可 以扫描信用卡的第三方框架,给...

Java模拟储蓄卡和信用卡

题目: 储蓄卡SavingCard类:/** * 储蓄卡类 * @author xgpxg * */ public class SavingCard { private doub...
  • wxgxgp
  • wxgxgp
  • 2017年04月07日 17:44
  • 202

C#银行储蓄卡

  • 2013年10月27日 22:34
  • 32KB
  • 下载

光学字符识别(OCR)开发包ABBYY FineReader Engine OCR的深度解析

关于ABBYYFineReader Engine  ABBYY网站上对FineReaderEngine的描述如下: ABBYY FineReader Engine是一款功能强大的光学字符识别(OC...

[译]OpenCV的基础光学字符识别(Basic OCR in OpenCV)

Github源码 From:http://blog.damiles.com/2008/11/basic-ocr-in-opencv/ 在这个教程当中我们将完成一个基础的数字光学字符识别。这包括...

[译]OpenCV的基础光学字符识别(Basic OCR in OpenCV)

Github源码 From:http://blog.damiles.com/2008/11/basic-ocr-in-opencv/ 在这个教程当中我们将完成一个基础的数字光学字符识别。这包括把一个...

6 个优秀的开源 OCR 光学字符识别工具

纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成。而过去几年,无纸化办公的概念发生了显着的转变。在计算机软件的帮助 下,包含大量重要管理数据和资讯的文档可以更方便的以电子形式...

Screen OCR(光学字符识别)

20100520-20100523­          一个针对屏幕的OCR(光学字符识别)程序,它与印刷体和手写输入OCR的区别在于:屏幕OCR属于精确识别,识别速度较快,算法也较简单,但它...

android-ocr 光学字符识别技术

支持原创,转载请注明出处: http://blog.csdn.net/wuzhiqun27/article/details/8647224   因为工作需要,这两天一直在找实现OCR的androi...

Tesseract OCR(光学字符识别)教程

本文由CocoaChina翻译小组成员 Mr_cyz(博客)翻译自raywenderlich,作者:Lyndsey Scott  原文:Tesseract OCR Tutorial 更...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之OCR光学识别储蓄卡以及信用卡
举报原因:
原因补充:

(最多只允许输入30个字)