[ios] iOS에서 바코드를 스캔하려면 어떻게해야합니까?

iPhone 및 / 또는 iPad에서 바코드를 간단히 스캔하려면 어떻게해야합니까?



답변

iPhone 용 ‘바코드’응용 프로그램을 제작했습니다. QR 코드를 해독 할 수 있습니다. 소스 코드는 zxing 프로젝트 에서 사용 가능합니다 . 특히, iPhone 클라이언트핵심 라이브러리부분 C ++ 포트를 살펴보고 싶습니다 . 포트는 Java 코드의 0.9 릴리스부터 약간 오래되었지만 여전히 잘 작동합니다.

1D 형식과 같은 다른 형식을 스캔해야하는 경우이 프로젝트 내의 Java 코드 포트를 C ++로 계속 사용할 수 있습니다.

편집 : iphone프로젝트 의 바코드와 코드는 2014 년 초에 폐기되었습니다.


답변

확인 ZBar는 QR 코드 및 ECN / ISBN 코드를 읽고 LGPL v2로 라이선스로 사용할 수 있습니다.


답변

릴리스와 마찬가지로 iOS7더 이상 외부 프레임 워크 또는 라이브러리를 사용할 필요가 없습니다. AVFoundation이 포함 된 iOS 에코 시스템은 이제 QR over EAN에서 UPC까지 거의 모든 코드 스캔을 완벽하게 지원합니다 .

기술 노트 와 AVFoundation 프로그래밍 안내서를 살펴보십시오 . AVMetadataObjectTypeQRCode당신의 친구입니다.

다음은 단계별로 보여주는 멋진 자습서 입니다
.iPhone QR code scan library iOS7

설정 방법에 대한 간단한 예 :

#pragma mark -
#pragma mark AVFoundationScanSetup

- (void) setupScanner;
{
    self.device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    self.input = [AVCaptureDeviceInput deviceInputWithDevice:self.device error:nil];

    self.session = [[AVCaptureSession alloc] init];

    self.output = [[AVCaptureMetadataOutput alloc] init];
    [self.session addOutput:self.output];
    [self.session addInput:self.input];

    [self.output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()];
    self.output.metadataObjectTypes = @[AVMetadataObjectTypeQRCode];

    self.preview = [AVCaptureVideoPreviewLayer layerWithSession:self.session];
    self.preview.videoGravity = AVLayerVideoGravityResizeAspectFill;
    self.preview.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

    AVCaptureConnection *con = self.preview.connection;

    con.videoOrientation = AVCaptureVideoOrientationLandscapeLeft;

    [self.view.layer insertSublayer:self.preview atIndex:0];
}


답변

iPhone 4 카메라는 바코드를 작성하는 것 이상의 역할을합니다. zebra crossing 바코드 라이브러리에는 github zxing-iphone 에 포크가 있습니다. 오픈 소스입니다.


답변

liteqr 은 github의 “zxing에서 포팅 된 Objective C의 Lite QR Reader”이며 Xcode 4를 지원합니다.


답변

두 가지 주요 라이브러리가 있습니다.

  • Java로 작성된 라이브러리를 ZXing 한 후 Objective C / C ++로 포트합니다 (QR 코드 만 해당). 그리고 TheLevelUp : ZXingObjC에 의해 ObjC에 대한 다른 포트가 수행되었습니다.

  • ZBar 는 C 기반 바코드를 읽기위한 오픈 소스 소프트웨어입니다.

내 실험에 따르면 ZBar는 적어도 iPhone에서 ZXing보다 훨씬 정확하고 빠릅니다 .


답변

하우투 : ZBar iPhone SDK 를 가리키는 바코드 리더를 iPhone 앱에 추가하면 다른 스레드에서 유용하게 보입니다 .