8

zXing プロジェクトを自分のプロジェクトにロードしました。正常に読み込まれ、ボタン呼び出しの後に zXing スキャナーがポップアップします。

zxingControllerDidCancel でビュー コントローラーを閉じることができますが、QR コードをスキャンするとコードが認識されないため、didScanResult 関数が起動しません。

誰かこれについて何か考えがありますか?

didScanResult 関数は以下のとおりです。

-(void)zxingController:(ZXingWidgetController *)controller didScanResult:(NSString *)result{
resultLabel.text = result;
NSLog(@"did scan!!!");
[self dismissModalViewControllerAnimated:NO];

}

注:これが関連しているかどうかはわかりませんが、スキャナーが起動すると、アプリによってログに記録されます:「wait_fences:応答の受信に失敗しました:10004003」

4

1 に答える 1

4

QRCodeReaderそのチュートリアルでは、のリーダーのセットにを追加する必要があるとは述べていませんZXingWidgetController

ZXingWidgetControllerリーダーのインスタンス(例:のインスタンス)を含む、readersというプロパティがあります。大まかに言って、読者の仕事は、カメラが撮った画像を分析し、エンコードされた情報を抽出することです。利用する必要のあるリーダーについて知っておく必要があります。そうしないと、意味のあることを何もする機会がありません。したがって、ZXingWidgetを表示する前に、プロパティを設定する必要があります。NSSetQRCodeReaderZXingWidgetControllerreaders

ZXingプロジェクトには、これを示すサンプルアプリがあります。ARCを使用する場合は、

ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:NO];
QRCodeReader* qRCodeReader = [[QRCodeReader alloc] init];
NSSet *readers = [[NSSet alloc] initWithObjects:qRCodeReader,nil];
widController.readers = readers;
[self presentModalViewController:widController animated:YES];

する必要があります。

于 2012-09-27T06:50:58.547 に答える