iOS开发--二维码的扫描

一.需要包含头文件

#import <AVFoundation/AVFoundation.h>

二.通过设置<AVCaptureMetadataOutputObjectsDelegate>代理可以监听扫描到的二维码中的信息

三.具体代码

复制代码
 1 #import "ViewController.h"
 2 #import <AVFoundation/AVFoundation.h>
 3 
 4 @interface ViewController () <AVCaptureMetadataOutputObjectsDelegate>
 5 
 6 @end
 7 
 8 @implementation ViewController
 9 
10 - (void)viewDidLoad {
11     [super viewDidLoad];
12 }
13 
14 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
15 {
16     // 1.创建捕捉会话
17     AVCaptureSession *session = [[AVCaptureSession alloc] init];
18     
19     // 2.设置输入设备
20     AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
21     AVCaptureDeviceInput *inputDevice = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];
22     [session addInput:inputDevice];
23     
24     // 3.设置输入方式
25     AVCaptureMetadataOutput *output = [[AVCaptureMetadataOutput alloc] init];
26     [output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
27     [session addOutput:output];
28     [output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];
29     
30     // 4.添加一个显示的layer
31     AVCaptureVideoPreviewLayer *layer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
32     layer.frame = self.view.bounds;
33     [self.view.layer addSublayer:layer];
34     
35     // 5.开始扫描
36     [session startRunning];
37 }
38 
39 #pragma mark - 获取扫描结果
40 - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection
41 {
42     if (metadataObjects.count > 0) {
43         AVMetadataMachineReadableCodeObject *object = [metadataObjects lastObject];
44         NSLog(@"%@", object.stringValue);
45     }
46 }
47 
48 @end
复制代码

 

posted @   Chaos_G  阅读(467)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示