我需要將QR代碼閱讀器集成到應用程序中,並找到tutorial。QR代碼在iOS應用程序中掃描
我從此link下載了Z-bar sdk。
這是我所做的。
在QRscannerViewController.m
-(IBAction)StartScan:(id) sender
{
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.readerView.torchMode = 0;
ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here
// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
// present and release the controller
[self presentModalViewController: reader
animated: YES];
[reader release];
resultTextView.hidden=NO;
}
- (void) readerControllerDidFailToRead: (ZBarReaderController*) reader
withRetry: (BOOL) retry{
NSLog(@"the image picker failing to read");
}
- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
NSLog(@"the image picker is calling successfully %@",info);
// ADD: get the decode results
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
NSString *hiddenData;
for(symbol in results)
hiddenData=[NSString stringWithString:symbol.data];
NSLog(@"the symbols is the following %@",symbol.data);
// EXAMPLE: just grab the first barcode
// break;
// EXAMPLE: do something useful with the barcode data
//resultText.text = symbol.data;
resultTextView.text=symbol.data;
NSLog(@"BARCODE= %@",symbol.data);
NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
[storeData setObject:hiddenData forKey:@"CONSUMERID"];
NSLog(@"SYMBOL : %@",hiddenData);
resultTextView.text=hiddenData;
[reader dismissModalViewControllerAnimated: NO];
}
加入所有需要的框架,所以沒有referenced from
錯誤。
當我點擊掃描按鈕時,ZBarReaderViewController顯示效果不錯,我按住Alt鍵並左鍵單擊鼠標打開模擬器的照片庫並且一切正常。
的問題是什麼,
- 的QR圖像沒有得到掃描,即
imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo
功能不會被調用。 - QR圖像顯示大於其原始大小。
如何解決這個問題?
爲什麼圖像沒有被掃描?
qr應完全可見以供閱讀。由於二維碼的圖像較大,圖書館無法掃描,所有四個角落都應該在圖像中。 – 2013-04-23 10:17:34
@SharonNathaniel,如何縮小這個尺寸? – NAZIK 2013-04-23 10:21:22
我建議在設備上將它指向紙張或屏幕上的qr代碼。由於您從模擬器中的照片庫中提取圖像,因此我不確定您可以在將其提供給讀取器之前對其進行處理。我建議在設備上試用它。 – 2013-04-23 10:23:50