2012-01-13 12 views
0

私はZbar SDKを使用するアプリケーションを持っています。私はすべてが稼働しており、QRコードをスキャンします。しかし、UPC-Aのバーコード(食料雑貨)をスキャンしようとすると、バーコードとはまったく異なる番号が返されます。例えばZBAR iPhone SDKの問題です。

:156749328

あなたは完全に異なる見ることができるように:私は、結果として取得03800051156 をスキャン!

- (IBAction)scanButtonTapped 
{ 
    // ADD: present a barcode reader that scans from the camera feed 
    ZBarReaderViewController *reader = [ZBarReaderViewController new]; 
    reader.readerDelegate = self; 

    ZBarImageScanner *scanner = reader.scanner; 
    // TODO: (optional) additional reader configuration here 

    // EXAMPLE: Set UPC-A 
    [scanner setSymbology: ZBAR_UPCA 
        config: ZBAR_CFG_ENABLE 
         to: 1]; 

    // present and release the controller 
    [self presentModalViewController: reader 
          animated: YES]; 
    [reader release]; 
} 


- (void) imagePickerController: (UIImagePickerController*) reader 
didFinishPickingMediaWithInfo: (NSDictionary*) info 
{ 
    // ADD: get the decode results 
    id<NSFastEnumeration> results = 
    [info objectForKey: ZBarReaderControllerResults]; 
    ZBarSymbol *symbol = nil; 
    for(symbol in results) 
     // EXAMPLE: just grab the first barcode 
     break; 

    //URL 
    NSString *urlString = symbol.data; 
    NSURL *url = [NSURL URLWithString:urlString]; 
    [scanWebView loadRequest:[NSURLRequest requestWithURL:url]]; 

    NSLog(@"Type UPC %d", symbol.type); 

    NSLog(@"Reader UPC %d", urlString); 
    AppDataObject* theDataObject = [self theAppDataObject]; 
    theDataObject.UPC = urlString; 

    // EXAMPLE: do something useful with the barcode data 
    resultText.text = symbol.data; 
    // ADD: dismiss the controller (NB dismiss from the *reader*!) 
    [reader dismissModalViewControllerAnimated: YES]; 

    // ADD Load the ProductInfo view after a slight delay to let the other VC resign. 
    [self performSelector:@selector(loadProduct) withObject:nil afterDelay:1.0]; 
} 
+0

奇妙である、あなたが、デバイスの種類を読んでいますか?読者を設定するときに "setSymbology"行を取り除きたいかもしれません(悪影響があるかどうかはわかりません)。デフォルトではUPCAが有効です。また、 "didFinishPickingMedia ...."メソッドに "symbol.typeName"を記録して、コードタイプが認識されているかどうかを確認してください。 –

+0

iPhone 4、EAN-13はデフォルトの私はUPC-Aを有効にしていますが、それでも私は同じ奇妙な出力を与えています。私はsetSymbologyとNADAを削除しました。また、私はsymbol.type(コード参照)を記録しています.UPC-AであるUPC12を取得しています。(EAN-13を返す前に – KDM

答えて

1

あなたは小数としてurlStringをログに記録しているので、あなたはurlStringのポインタ値、実際の文字列のない値を印刷しています。

試してみてください。

NSLog(@"Reader UPC %@", urlString); 
+0

私はこれを長い時間前に考え出しました。それを変えずに。愚かな間違い。 – KDM

関連する問題