2012-07-25 4 views

답변

1

이 코드

// BarCodeView.h 
@interface BarCodeView : UIViewController <ZBarReaderDelegate> { 
UIImageView *resultImage; 
UITextView *resultText; 
    } 
@property (nonatomic, retain) IBOutlet UIImageView *resultImage; 
@property (nonatomic, retain) IBOutlet UITextView *resultText; 
- (IBAction) scanButtonTapped; 

    // BarCodeView.m 
    @synthesize resultImage, resultText; 
    - (IBAction) scanButtonTapped 
{ 
NSLog(@"TBD: scan barcode here..."); 
// ADD: present a barcode reader that scans from the camera feed 
ZBarReaderViewController *reader = [ZBarReaderViewController new]; 
reader.readerDelegate = self; 
reader.supportedOrientationsMask = ZBarOrientationMaskAll; 

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]; 
    } 
- (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; 

// EXAMPLE: do something useful with the barcode data 
resultText.text = symbol.data; 

// EXAMPLE: do something useful with the barcode image 
resultImage.image = 
[info objectForKey: UIImagePickerControllerOriginalImage]; 

// ADD: dismiss the controller (NB dismiss from the *reader*!) 
[reader dismissModalViewControllerAnimated: YES]; 
} 
1

두 개의 가장 활동적인 프로젝트를 ZBarSDK을 다운로드하고 PCH 파일에서 가져올 후 사용이 ZBarZXing 있습니다.

iOS 또는 OS X를 타겟팅하고 있는지 언급하지 않았습니다. ZBar가 OS X.ZXing을 지원하지 않는다고 생각하지 않습니다. 나는 ZBar가 ZXing의 C++ 기반 포트보다 1D 코드를 더 잘 지원한다고 믿습니다.

(FWIW, 나는 ZXing의 C++/OS X/iOS 포트에 적극적으로 기여하고 있습니다.)