9

我正在寻找有关此主题的较早的问题和答案。但我发现在 iOS 7 中有一个二维码框架。它也支持条形码吗?如果我想支持早期的设备,那么目前认为最好的库是什么?

4

1 回答 1

11

iOS 7 在AVCaptureMetadataOutput. 它可以读取以下格式:

  • UPC-A
  • UPC-E
  • 代码 39
  • 代码 39 mod 43
  • 代码 93
  • 代码 128
  • EAN-8
  • EAN-13
  • 阿兹台克人
  • PDF417
  • 二维码

要实现它,您需要将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 时遇到问题。不过现在可能已经修复了。

http://zbar.sourceforge.net

于 2013-11-08T16:36:32.437 回答