ZBarCode读卡器有时会在iOS中显示错误的扫描数据

时间:2013-09-02 11:22:25

标签: iphone ios sdk

我在iPhone中使用ZBarCode阅读器时面临一个小问题,我已经实现了ZBarCode并且它正在成功运行,但有时它通常在扫描条形码后在开头添加一个整数值0,并且由于这种情况,有些结果是如果我做错了,请告诉我。

2 个答案:

答案 0 :(得分:0)

您可以发布您正在使用的代码吗?也许你正在使用旧参考?在解析新的扫描数据之前,确保所有引用都指向nil值。

答案 1 :(得分:0)

对于条形码和QR码扫描,我已经创建了完整的详细教程并发布了示例代码。它每次都给我完美的信息。

How to use Barcode Scanner (BR and QR) in iPhone Tutorial (using ZBar)

这是核心逻辑。

以这种方式启动扫描方法体

- (IBAction)startScanning:(id)sender {

    NSLog(@"Scanning..");    
    resultTextView.text = @"Scanning..";

    ZBarReaderViewController *codeReader = [ZBarReaderViewController new];
    codeReader.readerDelegate=self;
    codeReader.supportedOrientationsMask = ZBarOrientationMaskAll;

    ZBarImageScanner *scanner = codeReader.scanner;
    [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0];

    [self presentViewController:codeReader animated:YES completion:nil];    

}

实施ZBar的委托方法

- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
    //  get the decode results
    id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];

    ZBarSymbol *symbol = nil;
    for(symbol in results)
        // just grab the first barcode
        break;

    // showing the result on textview
    resultTextView.text = symbol.data;    

    resultImageView.image = [info objectForKey: UIImagePickerControllerOriginalImage];

    // dismiss the controller 
    [reader dismissViewControllerAnimated:YES completion:nil];
}