45

QRコードリーダーベースのアプリケーションを作成したい。

どのライブラリを使用して、アプリケーションを作成できますか?

注:私はグーグルで検索しました。常にzxingを取得しています。zxingプロジェクトをダウンロードしました。しかし、問題は次のとおりです。アプリケーションを実行します。しかし、それはバーコードだけを読んでいます。QRコードを読み取るオプションはありません。

これを行う方法を教えてください...

前もって感謝します。

4

4 に答える 4

49

ZBarSDKは別のオプションです。非常に有能なライブラリ。

2014年1月の更新

iOS7以降、AVCaptureDevice(すべての種類の)バーコードを読み取り、人間が読み取れる値を返す機能が含まれるようになりました。iOS7以降をターゲットにしている場合は、これが最適な方法です。もちろん、ZBarSDKはiOS7以前のサポートに最適です。

于 2011-05-05T19:01:49.050 に答える
29

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
于 2013-10-09T05:54:32.973 に答える
3

ZXingObjCがうまく機能し、簡単に統合できるようにしてください。

また、ビュー内のスキャナーウィンドウのサイズを定義できます。

于 2013-03-05T19:53:33.007 に答える
-1

参考までに、 webqr.comを使用できます。このライブラリは、QRコードのデコードとエンコードにも使用できます。ただし、Safari、Chrome、IE、Firefoxなどのさまざまなブラウザでは、Thisのプラグインを追加できます。それがあなたのために完全に役立つことを願っています。

于 2016-07-19T07:17:00.810 に答える