iOS 使用ZBarSDK掃描條形碼和二維碼

jopen 11年前發布 | 144K 次閱讀 IOS iOS開發 移動開發

ZBarSDK,一個比較優秀的開源項目,使用起來也很簡單。

ZBarSDK是一個開源的SDK,可從這里下載到源碼,該SDK實現了識別和讀取各種條形碼,包括EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 和 QR Code。

幫助文檔:http://zbar.sourceforge.net/iphone/sdkdoc/index.html

Step1.使用ZBarSDK 需要導入的framework

1.AVFoundation.framework

2.CoreMedia.framework

3.CoreVideo.framework

4.QuartzCore.framework

5.libiconv.dylib

Step2.在ViewController.h 導入#import "ZBarSDK.h"

Step3.在ViewController.h 繼承 <ZBarReaderDelegate>協議

Step4.寫代碼:

ViewController.h

#import 
#import "ZBarSDK.h"

@interface ViewController : UIViewController  @property (weak, nonatomic) IBOutlet UIImageView *imageView;
- (IBAction)scan:(id)sender;
@property (weak, nonatomic) IBOutlet UILabel *label;


@end
ViewController.m

#import "ViewController.h"
#import "ZBarSDK.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (IBAction)scan:(id)sender {


    ZBarReaderViewController * reader = [ZBarReaderViewController new];
    reader.readerDelegate = self;
    ZBarImageScanner * scanner = reader.scanner;
    [scanner setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0];

    reader.showsZBarControls = YES;

    [self presentViewController:reader animated:YES completion:nil];


}


-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    id results = [info objectForKey:ZBarReaderControllerResults];
    ZBarSymbol * symbol;
    for(symbol in results)
        break;

    _imageView.image = [info objectForKey:UIImagePickerControllerOriginalImage];

    [picker dismissViewControllerAnimated:YES completion:nil];

    _label.text = symbol.data;
}


@end
  在界面上放置一個UIImageView/UILabel/UIButton, UIImageView 用于顯示掃描到的圖像,UILabel用于顯示掃描到的信息,UIButton 用于響應事件。

  布局如圖:

  iOS 使用ZBarSDK掃描條形碼和二維碼
 


 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!