QR码阅读器为iPhone

我想创build基于QR码阅读器的应用程序。

使用哪个库,我可以创build我的应用程序?

注:我在谷歌search。 总是我得到zxing 。 我下载了zxing项目。 但问题是, 我运行该应用程序。 但它只读条码 。 没有select阅读QR码。

请告诉我如何做到这一点…

提前致谢。

ZBarSDK是另一种select。 一个非常有能力的库。

更新 2014年1月

从iOS7开始, AVCaptureDevice现在可以读取各种条形码并返回一个可读的值。 如果你的目标是iOS7 +,这是一条路。 当然,ZBarSDK对于iOS7之前的支持仍然很棒。

AVCaptureMetaDataOutput – 从iOS 7开始

使用iOS 7新增的AVCaptureMetaDataOutput扫描所有types的UPC,QR码和条形码。您只需将其设置为AVCaptureSession的输出,然后相应地实现captureOutput:didOutputMetadataObjects:fromConnection:方法:

  @import AVFoundation; AVCaptureSession *session = [[AVCaptureSession alloc] init]; AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; NSError *error = nil; AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error]; if (input) { [session addInput:input]; } else { NSLog(@"Error: %@", error); } AVCaptureMetadataOutput *output = [[AVCaptureMetadataOutput alloc] init]; [output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]]; [output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()]; [session addOutput:output]; [session startRunning]; #pragma mark - AVCaptureMetadataOutputObjectsDelegate - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection { NSString *QRCode = nil; for (AVMetadataObject *metadata in metadataObjects) { if ([metadata.type isEqualToString:AVMetadataObjectTypeQRCode]) { // This will never happen; nobody has ever scanned a QR code... ever QRCode = [(AVMetadataMachineReadableCodeObject *)metadata stringValue]; break; } } NSLog(@"QR Code: %@", QRCode); } 

AVFoundation支持你听说过的每一个代码(可能还有一些你没有的代码):

 AVMetadataObjectTypeUPCECode AVMetadataObjectTypeCode39Code AVMetadataObjectTypeCode39Mod43Code AVMetadataObjectTypeEAN13Code AVMetadataObjectTypeEAN8Code AVMetadataObjectTypeCode93Code AVMetadataObjectTypeCode128Code AVMetadataObjectTypePDF417Code AVMetadataObjectTypeQRCode AVMetadataObjectTypeAztecCode 

尝试ZXingObjC工作很好,易于集成。

同样,您可以在视图中定义扫描仪窗口的大小。

为了您的参考,您可以使用webqr.com ,它也可以用来解码QR码和编码的库。 但是对于safari,Chrome,IE,Firefox等不同的浏览器,您可以为此添加插件。 希望这样会对你有帮助。