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];
}
奇妙である、あなたが、デバイスの種類を読んでいますか?読者を設定するときに "setSymbology"行を取り除きたいかもしれません(悪影響があるかどうかはわかりません)。デフォルトではUPCAが有効です。また、 "didFinishPickingMedia ...."メソッドに "symbol.typeName"を記録して、コードタイプが認識されているかどうかを確認してください。 –
iPhone 4、EAN-13はデフォルトの私はUPC-Aを有効にしていますが、それでも私は同じ奇妙な出力を与えています。私はsetSymbologyとNADAを削除しました。また、私はsymbol.type(コード参照)を記録しています.UPC-AであるUPC12を取得しています。(EAN-13を返す前に – KDM