在我們開發ios應用時,尤其是電子商務類應用,時常遇到條碼掃描的業務需求,幸運的已經有開源的SDK供我們使用──條碼的SDK for ios,下面介紹一下這個開源的SDK的使用方法:
免費的條碼是zbar,是:http://zbar.sourceforge.net
具體的實現過程如下:
第一步:下載zbar的sdk。
第二步:建立工程
第三步:把下載的ZBarSDK添加到工程中。
第四步:然後添加.framework到工程中。
第五,添加庫引用的標頭檔
第六,然後添加一個按鈕,控制掃描功能
代碼實現:
1)在.h檔案中加入協議ZBarReaderDelegate
2)在.m實現檔案中,實現如下代碼
//開啟掃描,調用iphone照相機
- (IBAction) scanButtonTapped
{
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
ZBarImageScanner *scanner = reader.scanner;
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
[self presentModalViewController: reader animated: YES];
[reader release];
}
//代理方法
- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
{
NSLog(@"info=%@",info);
// 得到條碼結果
id<NSFastEnumeration> results =
[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break;
// 將獲得到條碼顯示到我們的介面上
resultText.text = symbol.data;
// 掃描時的圖片顯示到我們的介面上
resultImage.image =
[info objectForKey: UIImagePickerControllerOriginalImage];
// 掃描介面退出
[reader dismissModalViewControllerAnimated: YES];
}
效果: