QRコードリーダーベースのアプリケーションを作成したい。
どのライブラリを使用して、アプリケーションを作成できますか?
注:私はグーグルで検索しました。常にzxingを取得しています。zxingプロジェクトをダウンロードしました。しかし、問題は次のとおりです。アプリケーションを実行します。しかし、それはバーコードだけを読んでいます。QRコードを読み取るオプションはありません。
これを行う方法を教えてください...
前もって感謝します。
ZBarSDKは別のオプションです。非常に有能なライブラリ。
2014年1月の更新
iOS7以降、AVCaptureDevice
(すべての種類の)バーコードを読み取り、人間が読み取れる値を返す機能が含まれるようになりました。iOS7以降をターゲットにしている場合は、これが最適な方法です。もちろん、ZBarSDKはiOS7以前のサポートに最適です。
AVCaptureMetaDataOutput
-iOS7以降
iOS 7の新機能であるAVCaptureMetaDataOutputを使用して、すべての種類の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などのさまざまなブラウザでは、Thisのプラグインを追加できます。それがあなたのために完全に役立つことを願っています。