ZBar を使用してバーコードをキャプチャしようとしています。現時点では、次のコードを用意しています。スキャナが表示され、コードの周りに緑色のオーバーレイが表示されるので、バーコードをスキャンしているように見えます。デコード結果を取得する方法がわかりません。
私のやり方が間違っているかもしれないので、質問させてください。スキャン時にコンソールに何も出力されないため、didReadSymbols が呼び出されているとはまったく考えないでください。
.h
@interface ScannerViewController : UIViewController <ZBarReaderDelegate> {
}
@property (strong, nonatomic) IBOutlet UILabel *readerResult;
@property (strong, nonatomic) IBOutlet UIView *readerView;
@property (strong, nonatomic) IBOutlet ZBarReaderView *zbr;
.m
- (void)viewDidLoad
{
[super viewDidLoad];
// force class to load so it may be referenced directly from nib
[ZBarReaderViewController class];
ZBarReaderViewController *reader= [ZBarReaderViewController new];
reader.readerDelegate = self;
ZBarImageScanner *scanner = reader.scanner;
//reader.cameraOverlayView = self.readerView;
[scanner setSymbology: 0
config: ZBAR_CFG_ENABLE
to: 1];
[reader setShowsZBarControls:NO];
[reader.readerView start];
self.zbr = reader.readerView;
[self.view addSubview:reader.view];
}
- (void) zbr: (ZBarReaderView*) view
didReadSymbols: (ZBarSymbolSet*) syms
fromImage: (UIImage*) img
{
NSLog(@"Scanner used");
//do something useful with results and display resultText in resultViewController
for(ZBarSymbol *sym in syms) {
NSLog(@"Logged");
//return resultText;
break;
}
}
どんなアドバイスも素晴らしいでしょう。私は現時点でこれに非常に混乱しています。乾杯。