这里我用了系统的东西简单的实现了一下扫描二维码

.h

#import <UIKit/UIKit.h>

#import <AVFoundation/AVFoundation.h>

@interface saoMiaoViewController : UIViewController

@property(nonatomic,retain) UIView * sanRectView;

//硬件设备

@property(nonatomic,retain) AVCaptureDevice * device;

//输入设备

@property(nonatomic,retain) AVCaptureDeviceInput * input;

//输出设备

@property(nonatomic,retain) AVCaptureMetadataOutput * outPut;

//桥梁。链接输入和输出设备

@property(nonatomic,retain)AVCaptureSession * session;

@property(nonatomic,retain)AVCaptureVideoPreviewLayer * preView;

@end

接下来看.m文件

@interface saoMiaoViewController ()<AVCaptureMetadataOutputObjectsDelegate>

@end

@implementation saoMiaoViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view.

self.title = @"进入连接";

CGSize windowSize = [UIScreen mainScreen].bounds.size;

CGSize scanSize = CGSizeMake(windowSize.width*3/5, windowSize.width * 3/5);

CGRect scanRect = CGRectMake( ((windowSize.height-scanSize.height)/2)/windowSize.height,((windowSize.width-scanSize.width)/2)/windowSize.width,  (scanSize.height+10)/windowSize.height,(scanSize.width + 10)/windowSize.width);

self.device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

self.input = [AVCaptureDeviceInput deviceInputWithDevice:self.device error:nil];

self.outPut = [[AVCaptureMetadataOutput alloc] init];

[self.outPut setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];

self.session = [[AVCaptureSession alloc] init];

[self.session setSessionPreset:([UIScreen mainScreen].bounds.size.height<500)?AVCaptureSessionPreset640x480:AVCaptureSessionPresetHigh];

[self.session addInput:self.input];

[self.session addOutput:self.outPut];

self.outPut.metadataObjectTypes=@[AVMetadataObjectTypeQRCode];

self.preView = [AVCaptureVideoPreviewLayer layerWithSession:self.session];

self.preView.videoGravity = AVLayerVideoGravityResizeAspectFill;

self.preView.frame = [UIScreen mainScreen].bounds;

self.preView.backgroundColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.7].CGColor;

[self.view.layer insertSublayer:self.preView atIndex:0];

self.sanRectView = [UIView new];

[self.view addSubview:self.sanRectView];

self.sanRectView.frame = CGRectMake(0, 0, scanSize.width, scanSize.height);

self.sanRectView.center = CGPointMake(CGRectGetMidX([UIScreen mainScreen].bounds), CGRectGetMidY([UIScreen mainScreen].bounds));

self.sanRectView.layer.borderColor = [UIColor whiteColor].CGColor;

self.sanRectView.layer.borderWidth = 2;

self.outPut.rectOfInterest =scanRect;

//开始捕获

[self.session startRunning];

}

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection

{

if ( (metadataObjects.count==0) )

{

return;

}

if (metadataObjects.count>0) {

[self.session stopRunning];

AVMetadataMachineReadableCodeObject *metadataObject = metadataObjects.firstObject;

SendUrlViewController * send = [[SendUrlViewController alloc] init];

send.nameUrl = metadataObject.stringValue;

[self.navigationController pushViewController:send animated:YES];

}

}

此文纯属个人为了记忆而写。当然要是能帮到别人当然也很开心了A.A

简单使用系统的设备实现二维码扫描相关推荐

  1. Android直播带货系统中如何实现二维码扫描功能

    自李佳琦的出现将直播带货成功的引向了"巅峰",为了响应众平台和用户的需求,开发Android直播带货系统成为当下的开发热潮.那么在平时的直播软件中,登录.分享.支付等场景中经常出现 ...

  2. honeywell 设备开启二维码扫描功能

    新设备二维码扫描功能开启流程: 1.开始->程序->Power Tools 打开ScanWedge,右下角会出现条码小图标. 2.点击条码小图标选择Settings. 3.在Setting ...

  3. Android二维码扫描之ZXing快速项目集成

    <Android二维码扫描之ZXing快速项目集成> 二维码扫描现在是一直比较多的应用场景,Android的开源项目ZXing提供了完整.成熟的解决方案,如果仅仅是出于快速开发的目的,可以 ...

  4. html5调用设备摄像头,实现二维码扫描

    html5调用设备摄像头,实现二维码扫描 最近在做一个签到系统,由于我直接使用了纯网页,因此调用摄像头进行扫码成了大问题.经过几番费力的百度终于找到解决方法. 主要用到MediaDevices.get ...

  5. [Android开源]一个非常简单易用用来花式展示二维码样式生成的库QRCodeStyle

    类库说明 一个非常简单易用用来花式展示二维码样式生成的库 自由组合二维码样式 使用范例 设置带圆边圈的logo Bitmap logo = BitmapFactory.decodeResource(g ...

  6. iOS原生实现二维码扫描

    iOS原生实现二维码扫描 最近项目上需要开发扫描二维码进行签到的功能,主要用于开会签到的场景,所以为了避免作弊,我们再开发时只采用直接扫描的方式,并且要屏蔽从相册读取图片,此外还在二维码扫描成功签到时 ...

  7. iOS二维码扫描/识别

    一直以为二维码功能比较简单,  从来没有放在心上过,  由于公司项目需要这个功能,  也算是第一次真正去做二维码的东西.  从网上看别人的博客很多都是写的比较碎片, 没有一个能做的比较完整的,  今天 ...

  8. js 二维码扫描盒/枪对接

    二维码扫描盒/枪对接 前言 二维码应用非常广泛,使用场景有:手机上网.个人名片.凭证类.溯源类.数据防伪等等,如下图: 使用也非常简单,外接USB接口, 如下图,以下就是我对接的盒子 原理 ​ 拿到二 ...

  9. ios7 苹果原生二维码扫描(和微信类似)

    在ios7苹果推出了二维码扫描,以前想要做二维码扫描,只能通过第三方ZBar与ZXing. ZBar在扫描的灵敏度上,和内存的使用上相对于ZXing上都是较优的,但是对于 "圆角二维码&qu ...

最新文章

  1. 用vue优雅地编写UI组件的几条指导原则
  2. WebService(JAX-WS、XFire、Axis三种)获取客户端ip
  3. 2018中国C++大会精彩回顾
  4. python爬虫本科容易找工作吗_python爬虫基础学完了,我真的能找到一份工作吗?...
  5. Web Hacking 101 中文版 二十、漏洞报告
  6. Java高级语法笔记-文件读写(2)
  7. mysql 重启爆红,MySQL 启动报错
  8. gps高斯utm_经纬度与高斯坐标及经纬度与UTM坐标互转
  9. HTML中嵌入视频和音频代码
  10. 《工业设计史》第七章:艺术变革与现代设计
  11. web渗透学习目录-新手打开思路
  12. 技术人生:高山仰止,景行观止,虽不能至,我心向往之
  13. 注册表终极修改ie主页的方法
  14. 基于高通sdx12平台,简单介绍编译(bitbake)
  15. 怎样才算是一个好的测试用例
  16. matlab数组删除指定行列元素
  17. 编辑或删除Word文档脚注中的横线
  18. WebGL入门之基于WebGL的3D可视化引擎介绍
  19. python可视化数据分析-Python数据分析与可视化从入门到精通
  20. 贵州学业水平计算机考试真题,贵州省2017年7月普通高中学业水平考试数学试卷(真题卷附全解析)...

热门文章

  1. 分布式配置中心-Config
  2. 万全系列服务器,联想7款万全服务器
  3. TCPDUMP(命令行操作)-抓包、筛选、高级筛选、过程文档记录
  4. microsoft office word 遇到问题需要关闭, 这是第二次遇到这个问题了
  5. OpenWrt Luci编写小技巧
  6. 分数化成有限小数的方法_什么样的分数能化成有限小数?
  7. 曾国藩《挺经》卷十诡道
  8. 一场漫步园林的视听盛宴
  9. php安装后检测不成功,apache无法解析php
  10. 【C语言】操作符总结之大话西游篇