【发布时间】:2013-11-20 17:31:31
【问题描述】:
我正在查找有关此主题的较早的问题和答案。但我发现在 iOS 7 中有一个二维码框架。它也支持条形码吗?如果我想支持早期的设备,那么目前认为最好的库是什么?
【问题讨论】:
-
来自 AVFoundation 的 AVCaptureMetaDataOutput
我正在查找有关此主题的较早的问题和答案。但我发现在 iOS 7 中有一个二维码框架。它也支持条形码吗?如果我想支持早期的设备,那么目前认为最好的库是什么?
【问题讨论】:
iOS 7 在AVCaptureMetadataOutput 中引入了二维码和条形码读取支持。它可以读取以下格式:
要实现它,您需要将带有您要扫描的对象类型的AVCaptureMetadataOutput 添加到AVCaptureSession。
AVCaptureMetadataOutput *metadataOutput= [[AVCaptureMetadataOutput alloc] init];
[self.session addOutput:metadataOutput];
[metadataOutput setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
[metadataOutput setMetadataObjectTypes:@[AVMetadataObjectTypeCode128Code]];
并实现以下委托方法:
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection
此处列出了您可以侦听的不同元数据对象: https://developer.apple.com/library/ios/DOCUMENTATION/AVFoundation/Reference/AVMetadataMachineReadableCodeObject_Class/Reference/Reference.html
以前版本 iOS 的一个流行库是 ZBar,尽管我知道很多用户在尝试将它与 iOS 7 一起使用时遇到了 ZBar 问题。不过,这个问题现在可能已经修复了。
【讨论】: