我想創建基於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