iOS 二维码扫描 通过ZBar ZXing等第三方库
2015-11-12 15:38
441 查看
扫描二维码的开源库有很多如 ZBar、ZXing等
ZBar的使用方法:
下载ZBar SDK
地址https://github.com/bmorton/ZBarSDK
ZBarSDK是一个开源的SDK,该SDK实现了识别和读取各种条形码,包括EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 和 QR Code。
Step1.使用ZBarSDK 需要导入的framework
1.AVFoundation.framework
2.CoreMedia.framework
3.CoreVideo.framework
4.QuartzCore.framework
5.libiconv.dylib
Step2.在ViewController.h 导入#import "ZBarSDK.h"
Step3.在ViewController.h 实现 <ZBarReaderDelegate>协议
Step4.写代码:
- (IBAction)scan:(id)sender {
ZBarReaderViewController * reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
ZBarImageScanner * scanner = reader.scanner;
[scanner setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0];
reader.showsZBarControls = YES;
[self presentViewController:reader animated:YES completion:nil];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
id<NSFastEnumeration> results = [info objectForKey:ZBarReaderControllerResults];
ZBarSymbol * symbol;
for(symbol in results)
break;
_imageView.image = [info objectForKey:UIImagePickerControllerOriginalImage];
[picker dismissViewControllerAnimated:YES completion:nil];
_label.text = symbol.data;
}
ZBar的使用方法:
下载ZBar SDK
地址https://github.com/bmorton/ZBarSDK
ZBarSDK是一个开源的SDK,该SDK实现了识别和读取各种条形码,包括EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 和 QR Code。
Step1.使用ZBarSDK 需要导入的framework
1.AVFoundation.framework
2.CoreMedia.framework
3.CoreVideo.framework
4.QuartzCore.framework
5.libiconv.dylib
Step2.在ViewController.h 导入#import "ZBarSDK.h"
Step3.在ViewController.h 实现 <ZBarReaderDelegate>协议
Step4.写代码:
- (IBAction)scan:(id)sender {
ZBarReaderViewController * reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
ZBarImageScanner * scanner = reader.scanner;
[scanner setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0];
reader.showsZBarControls = YES;
[self presentViewController:reader animated:YES completion:nil];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
id<NSFastEnumeration> results = [info objectForKey:ZBarReaderControllerResults];
ZBarSymbol * symbol;
for(symbol in results)
break;
_imageView.image = [info objectForKey:UIImagePickerControllerOriginalImage];
[picker dismissViewControllerAnimated:YES completion:nil];
_label.text = symbol.data;
}
相关文章推荐
- IOS 解析XML文档
- Xcode免证书打包ipa
- iOS创建测试包
- iOS 自带二维码扫描功能的实现
- iOS: JS和Native交互的两种方法,iosjsnative交互
- <iOS>Xcode插件
- iOS之 开发学习笔记-block
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- iOS 画音频波形曲线 根据音频数据版
- iOS本地通知的实现
- 适配iOS 9系统
- iOS 保持界面流畅的技巧
- iOS开发:应用生命周期
- iOS 调用系统自带的通讯录
- ios多线程初步研究
- iOS_ NSUserDefaults_数据本地化的轻型装备
- iOS 键盘自适应(IQKeyboardManager)使用小结
- iOS 开始
- iOS9的一些适配
- iOS9的一些适配