我想创建基于QR码阅读器的应用程序。适用于iPhone的QR码阅读器
使用哪个库,我可以创建我的应用程序?
注:我在谷歌搜索。总是我得到zxing。我下载了zxing项目。但问题是,我运行该应用程序。但它只读取条码。没有选择阅读QR码。
请告诉我怎么做这个...
在此先感谢。
我想创建基于QR码阅读器的应用程序。适用于iPhone的QR码阅读器
使用哪个库,我可以创建我的应用程序?
注:我在谷歌搜索。总是我得到zxing。我下载了zxing项目。但问题是,我运行该应用程序。但它只读取条码。没有选择阅读QR码。
请告诉我怎么做这个...
在此先感谢。
ZBarSDK是另一种选择。一个非常有能力的库。
UPDATE 2014年1月
在iOS7开始,AVCaptureDevice
现在能够读取(各类)条形码,并返回一个人类可读价值的能力。如果你的目标是iOS7 +,这是一条路。当然,ZBarSDK对于iOS7之前的支持仍然很棒。
我还没有发布任何使用它,但据我测试,一个可靠的库,也提供了一个很好的捕获模块(例如突出代码等),并且很容易理解。 – 2011-05-05 19:38:33
ZBarSDK是免费许可证版本?我可以为我的付费应用使用ZBarSDK吗? – jfalexvijay 2011-05-06 05:17:06
请参阅http://zbar.sourceforge.net/iphone/sdkdoc/licensing.html – 2011-05-06 14:38:33
尝试ZXingObjC工作的伟大,并易于集成。
同样,你也可以定义视图内扫描窗口的大小。
AVCaptureMetaDataOutput
- 从iOS的7起
扫描的UPC,QR码,并与AVCaptureMetaDataOutput,新品种到iOS 7,所有你需要做的是将它设置为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
这节省了我吨和大量的麻烦,已经开始集成旧的SDK ...此外是一个很好的阅读:http://www.renaudpradenc.com/?p=453 – Wirsing 2013-11-23 01:12:24
我希望我可以+1这两次。一次用于代码,另一次用于“@ import”。 – 2014-03-03 00:51:36
欲了解更多完整的示例,还可以处理方向更改等事情,从后台等恢复,请参阅https://github.com/magmatic/BMCodeScanner - 使用本机AVFoundation API。 – SaltyNuts 2014-07-31 19:42:37
供您参考,您可以使用webqr.com和它的图书馆,你可以使用解码QR码和编码也。但对于safari,Chrome,IE,Firefox等不同的浏览器,您可以为此添加插件。希望这样会对你有帮助。
http://stackoverflow.com/questions/838724/barcode-framework-for-the-iphone/862656#862656这个答案链接到源条码的应用程序读取qrcodes。你应该得到一些很好的信息 – 2011-05-05 18:55:34
zxing肯定在iOS上很好地执行QR码。事实上,比其他代码更好。示例ScanTest应用程序演示如何使用它,并将很好地解码QR码。 – smparkes 2011-05-29 22:48:43