QR code reader for iPhone
我想创建基于QR码阅读器的应用程序。
使用哪个库,我可以创建我的应用程序?
注意:我在google中搜索。 我总是越来越zxing。 我下载了zxing项目。 但是问题是; 我运行该应用程序。 但是它只读取条形码。 没有读取QR码的选项。
请告诉我该怎么做...
提前致谢。
ZBarSDK是另一种选择。一个非常强大的库。
2014年1月更新
从iOS7开始,
使用iOS 7的新功能AVCaptureMetaDataOutput扫描所有品种的UPC,QR码和条形码,您所需要做的就是将其设置为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | @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); } |
1 2 3 4 5 6 7 8 9 10 | AVMetadataObjectTypeUPCECode AVMetadataObjectTypeCode39Code AVMetadataObjectTypeCode39Mod43Code AVMetadataObjectTypeEAN13Code AVMetadataObjectTypeEAN8Code AVMetadataObjectTypeCode93Code AVMetadataObjectTypeCode128Code AVMetadataObjectTypePDF417Code AVMetadataObjectTypeQRCode AVMetadataObjectTypeAztecCode |
尝试使用ZXingObjC并使其易于集成。
同样,您可以在视图内部定义扫描仪窗口的大小。
供您参考,您可以使用webqr.com,它的库也可以用于解码QR码和编码。但是对于Safari,Chrome,IE,Firefox等不同的浏览器,您可以为其添加插件。希望对您有帮助。