iOS二维码生成与扫描(zbar和原生AVFoundation)

公司iOS项目需要用到二维码扫描,本来已经有人写好了,但是扫描速度不太快,于是让我接手研究一下。之前也没接触过二维码扫描,写这篇博客献给新手。

先来二维码生成吧,二维码生成需要libqrencode库,将libqrencode库下载下来拖入工程

(文章末会提供下载链接),

在QRCodeGenerator.h中#import<UIKit/UIKit.h>,否则会报错。

使用举例:UIImage *image =[QRCodeGenerator qrImageForString:<#(NSString *)#> imageSize:<#(CGFloat)#>];

直接调用 QRCodeGenerator qrImageForString:<#(NSString *)#> imageSize:<#(CGFloat)#>就可以生成二维码图片,其中string可以是任何字符串,imageSize是生成图片的大小

二维码扫描:现在主流二维码扫描有zbar和zxing两大开源组件

ZBar在扫描的灵敏度上,和内存的使用上相对于ZXing上都是较优的,但是对于 “圆角二维码” 的扫描确很困难

ZXing 是 Google Code上的一个开源的条形码扫描库,是用java设计的,连Google Glass 都在使用的。但有人为了追求更高效率以及可移植性,出现了c++ port. Github上的Objectivc-C port,其实就是用OC代码封装了一下而已,而且已经停止维护。这样效率非常低,在instrument下面可以看到CPU和内存疯涨,在内存小的机器上很容易崩溃。

iOS6后,苹果提供了原生的二维码扫描AVFoundation,AVFoundation无论在扫描灵敏度和性能上来说都是最优的。缺点是不能扫描相册中的二维码,条码扫描不如zbar,不支持iOS6以前的版本。所以有的项目可能需要两种扫描相结合

先来说说zbar吧,公司之前用的就是zbar,由于公司放入二维码的数据有点多,二维码又大又密,扫描的确需要花一定的时间。

先下载zbar导入工程,在build phases的link binary 目录下导入如下库

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值