猿问

如何在iOS上扫描条形码?

如何在iPhone和/或iPad上简单扫描条形码?



动漫人物
浏览 1044回答 3
3回答

蝴蝶刀刀

我们为iPhone制作了“条形码”应用程序。它可以解码QR码。源代码可从zxing项目获得 ; 具体来说,您要查看iPhone客户端和核心库的部分C ++端口。该端口有点陈旧,大约是Java代码的0.9版本,但仍然应该运行得相当好。如果需要扫描其他格式(如1D格式),可以将此项目中的Java代码端口继续到C ++。编辑:iphone项目中的条形码和代码在2014年初退役。

MMTTMM

与发布时一样,iOS7您不再需要使用外部框架或库。拥有AVFoundation的iOS生态系统现在完全支持扫描从EAN到UPC的QR中的几乎所有代码。只需看看Tech Note和AVFoundation编程指南。AVMetadataObjectTypeQRCode是你的朋友。这是一个很好的教程,一步一步地显示它: iPhone QR码扫描库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];}

慕斯709654

有两个主要的图书馆:ZXing用Java编写的库,然后移植到Objective C / C ++(仅限QR代码)。另一个到ObjC的端口已由TheLevelUp:ZXingObjC完成ZBar是一款用于读取条形码的开源软件,基于C语言。根据我的实验,ZBar比ZXing 更准确,更快,至少在iPhone上。
随时随地看视频慕课网APP
我要回答