二维码扫描在App中很常见的功能,之前都是用三方工具Zing、ZBar。后来Apple的AVFoundation也支持二维码扫描、生成,而且效率比三方库还要高。我把它封装成一个工具,这样使用起来十分方便,同时还封装了扫描视图,在工程中增加扫描更加快捷。
主要使用AVCaptureSession链接摄像头进行采集信息
Coding~
//初始化链接对象
self.session = [[AVCaptureSession alloc]init];
//高质量采集率
[self.session setSessionPreset:AVCaptureSessionPresetHigh];
//获取摄像设备
self.device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
//创建输入流
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:self.device error:nil];
//添加输入流
if ([self.session canAddInput:input]) {
[self.session addInput:input];
}
//创建输出流
self.output = [[AVCaptureMetadataOutput alloc] init];
//设置代理在主线程里刷新(Tip:如果封装的类不是单利或者全局变量,代理AVCaptureMetadataOutputObjectsDelegated不会被调用)
[self.output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
//添加输出流
if ([self.session canAddOutput:self.output]) {
[self.session ad