ZBarReader仅扫描iOS 6中的UPC_A格式

Kru*_*nal 1 iphone barcode-scanner ipad zbar-sdk ios6

我在iOS 6中开发BarCode阅读器应用程序,

我使用ZBar sdk,我用这个开发应用 教程.. 当我对其进行扫描只扫描产品条形码的任何UPC格式,但它并不像扫描任何其他格式的产品EAN_13Code_128等.

这是我的代码片段,

- (IBAction) scanButtonTapped
{

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

    ZBarImageScanner *scanner = reader.scanner;

    [scanner setSymbology: ZBAR_I25
                   config: ZBAR_CFG_ENABLE
                       to: 0];

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

}

- (void) imagePickerController: (UIImagePickerController*) reader
 didFinishPickingMediaWithInfo: (NSDictionary*) info
{
    id<NSFastEnumeration> results =
    [info objectForKey: ZBarReaderControllerResults];
    ZBarSymbol *symbol = nil;
    for(symbol in results)
        break;

    NSLog(@"symbol.data=%@",symbol.data);

    [reader dismissViewControllerAnimated:YES completion:nil];

}
Run Code Online (Sandbox Code Playgroud)

如何扫描所有类型的产品?任何的想法 ?

Enr*_*ico 5

来自Zbar常见问题解答

ZBar解码器默认仅启用EAN-13

UPC-A符号系统是EAN-13的子集,以前导0开始...您可以通过明确启用UPC-A来选择接收12位数结果.

听起来像启用了EAN 13.要启用Code 128,请在禁用Interleaved 2 of 5(I25)后放置以下代码段

[scanner setSymbology: ZBAR_CODE128
     config: ZBAR_CFG_ENABLE
     to: 1];
Run Code Online (Sandbox Code Playgroud)

如果要严格控制启用和禁用的内容,请禁用所有符号系统并有选择地启用所需的符号系统

// Disable all symbologies
[scanner setSymbology: 0
     config: ZBAR_CFG_ENABLE
     to: 0];
// Enable EAN 13
[scanner setSymbology: ZBAR_EAN13
     config: ZBAR_CFG_ENABLE
     to: 1];
// Enable UPC-A
[scanner setSymbology: ZBAR_UPCA
     config: ZBAR_CFG_ENABLE
     to: 1];
// Enable Code 128
[scanner setSymbology: ZBAR_CODE128
     config: ZBAR_CFG_ENABLE
     to: 1]
Run Code Online (Sandbox Code Playgroud)