AVFoundation支持以下一维和二维码的扫描:
- QR code
- Aztec
- EAN13
- EAN8
- UPC-E
- PDF417
- Code 93
- Code 39
- Code 39 mode 41
QR code就是我们所熟知的二维码。
打开ViewController.m,添加以下实例变量:
AVCaptureMetadataOutput *_metadataOutput;
当从视频帧中检测到元数据时,AVCaptureMetadataOutput会调用应用程序的回调函数。AV Foundation支持两种类型的元数据:机器可读的编码和人脸识别。
添加以下代码到setupCaptureSession的最后来实现对元数据的捕捉和处理:
_metadataOutput = [[AVCaptureMetadataOutput alloc] init];
dispatch_queue_t metadataQueue = dispatch_queue_create("com.yaming.ColloQR.metadata", 0);
[_metadataOutput setMetadataObjectsDelegate:self queue:metadataQueue];
if([_captureSession canAddOutput:_metadataOutput])
{
[_captureSession addOutput:_metadataOutput];
}
这里,我们首先创建AVCaptur