IOS 二维码扫描
2016-04-21 13:35
337 查看
这篇博客是对上篇博客的补充,内容较少。
由于二维码扫描需要在真机上测试本人比较烂就不做效果图了。
下面是代码(代码中已经写了很清楚的注释)
由于二维码扫描需要在真机上测试本人比较烂就不做效果图了。
下面是代码(代码中已经写了很清楚的注释)
// // ViewController.m // CX 二维码扫描 // // Created by ma c on 16/4/12. // Copyright © 2016年 bjsxt. All rights reserved. // #import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewController ()<AVCaptureMetadataOutputObjectsDelegate> @end @implementation ViewController - (void)viewDidLoad { } - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ //创建捕捉会话 AVCaptureSession * session = [[AVCaptureSession alloc]init]; //添加输入设备 AVCaptureDevice * device = [AVCaptureDevice defaultDeviceWithMediaType:@"AVMediaTypeVideo"]; AVCaptureDeviceInput * input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil]; [session addInput:input]; //添加输出数据 AVCaptureMetadataOutput * output = [[AVCaptureMetadataOutput alloc]init]; [output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()]; [session addOutput:output]; //告诉元数据类型为二维码类型 //注意该方法在add后 否则崩溃 //测试需要真机稍有麻烦 就不截图了 [output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]]; //添加扫描图层 AVCaptureVideoPreviewLayer *layer = [AVCaptureVideoPreviewLayer layerWithSession:session]; layer.frame = CGRectMake(10,20, self.view.frame.size.width, 400); [self.view.layer addSublayer:layer]; //开始扫描 [session startRunning]; //下面的方法适当的时候操作 //停止扫描 // [session stopRunning]; //移除图层 // [layer removeFromSuperlayer]; } - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection{ //metadataObjects 为扫描的后的数据 AVMetadataMachineReadableCodeObject * objc = [metadataObjects lastObject]; //我们想要的结果 NSLog(@"%@",objc.stringValue); } @end
相关文章推荐
- Nagios 监控系列学习 ―― check_snmp_int.pl 监控交换机端口状态和流量
- iOS - Quartz2D - 视图绘制周期
- iOS中图片的一些处理,磨砂,压缩,,
- iOS申请证书,Certificates, Identifiers &Profiles 简介
- iOS 排序方法
- iOS开发系列--扩展--播放音乐库中的音乐
- iOS 自带二维码识别(识别二维码,条形码以及从相册中选择图片进行识别)
- 盘点苹果2016WWDC精彩看点, iOS 10官方细节要来了
- iOS 自带的定位系统 (设置注意事项)
- iOS 按钮点击改变背景色
- iOS之Block报错:capturing 'self' strongly in this block is likely to lead to a retain cycle
- iOS 签发证书无效问题详解
- ios 解决 dyld: Library not loaded: /System/Library/Frameworks/CoreMedia.framework/CoreMedia
- iOS navgationBar 的颜色相关设置
- iOS 开发小技巧
- iOS调试
- iOS到Mac OS之NSTableView的简单使用
- iOS 子视图加入到父视图及移除父视图的过程
- [IOS/第三方工具]CocoaPods 终端上功能以及使用说明
- ios按钮长按事件