181 votes

Est-il un code à barres cadre de reconnaissance pour iOS?

Est-il un cadre ou d'un autre exemple de code pour faire la reconnaissance des codes barres sur iPhone / iPad?

81voto

Vijay Points 771

Découvrez ZBar lit les codes QR et les ECN/ISBN codes et est disponible sous la licence LGPL v2 licence.

80voto

Sean Owen Points 36577

Oui, nous avons produit le "codes-barres" de l'application pour l'iPhone. Il peut décoder les QR Codes. Le code source est disponible à partir de la zxing projet; en particulier, vous voulez prendre un coup d'oeil à l' iPhone client et l' partielle port en C++ de la bibliothèque de base. Le port est un peu vieux, partir vers la version 0.9 du code Java, mais devrait toujours fonctionner raisonnablement bien.

Si vous avez besoin de scanner d'autres formats, comme le 1D formats, vous pouvez continuer le port du code Java à l'intérieur de ce projet de C++.

EDIT: les codes-barres et l' iphone code dans le projet étaient à la retraite au début de l'année 2014.

50voto

Alexander Points 2514

Comme avec la release de la iOS7 vous n'avez plus besoin d'utiliser un cadre externe ou de la bibliothèque. L'iOS de l'écosystème avec AVFoundation maintenant entièrement prend en charge la numérisation de tous les codes de QR sur EAN à l'UPC.

Juste un coup d'oeil à la Note technique et de la AVFoundation guide de programmation. AVMetadataObjectTypeQRCode est votre ami.

Voici un joli tutoriel qui montre étape par étape: iPhone QR code scan de la bibliothèque iOS7

Juste un petit exemple qui montre comment le configurer:

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

13voto

Aris Bartee Points 381

L'iPhone 4 appareil photo est plus que capabale de faire des codes-barres. Le passage pour piétons, bibliothèque de codes-barres est un fork sur github zxing-iphone. Il est open-source.

10voto

Josh Brown Points 16044

liteqr est un "Lite Lecteur de QR en C Objectif porté de zxing" sur github et a un support pour Xcode 4.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: