使用AVFoundation完成二维码扫描





其中有几点需要注意的

1.应该使用异步线程来配置那几个属性,这样可以防止阻塞主线程加载UI。

2.output的rectOfInterst是感应区域,就是说,在这个区域内才有扫描效果。但是由于摄像头的关系,这个rect的x和y是反着的,width和height也是反着的,就是说,这里的x坐标对应着正常情况下的y坐标,这里的宽度对应着正常情况下的高度。

3.sessionPreset属性是用来设置扫描精度的。

4.metaObjectTypes属性可以设置扫描的类型,有二维码和一维码(条形码)。



总结:通过以上设置,可以完成绝大多数的扫描任务,并且精度和速度都不错。但是,对1cm*1cm大小,清晰度不太高的二维码,扫描速度很慢或根本无法辨认。后来,我又从app store上面下载了很多的二维码扫描的app,微信和支付宝的扫描速度可以保证,我查查也勉强能接受。其中,微信和支付宝在扫描过程中,需要保持联网状态,我猜测是需要在后台进行图片的解析。因为联系不到微信或支付宝的开发人员,这个问题至今未解决,希望此贴的朋友,可以帮我想想办法,不胜感激。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值