扫描

本文探讨了扫描技术的基本原理及其在iOS平台的应用。详细介绍了不同版本iOS系统下扫描框架的选择,包括AVFoundation框架、Zbar和Zxing库的特点与使用方法。同时,文章阐述了如何在iOS应用中实现高效、稳定的扫描功能,强调了多线程在提高用户体验方面的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

扫描
扫描原理:底层通过捕捉设备,捕捉到一个图形,将图形转换成一个链接地址,最终需要的时一个url,只要调openUrl就可以跳到对应的地址去。
->ios7之后就自带扫描—AVFoundation框架灵敏度和内存使用都是最有的。
->ios7之前
1>zbar,在扫描的灵敏度和内存的使用上角Zxing都是较优的,是github的开源库
2>Zxing,是goole code上的一个开源条形条形码扫描库,是用java语言写的。有人曾用oc代码移植过,但是移植得不够完整,而且已经停止维护了,效率也非常低
现在最低版本是ios6,如果要兼容ios6-ios7之间的版本,就需要用一个if,,else,,判断版本
使用Zbar的时候,在github中下载ZbarSDK,包里面有一个ReaderSample可以通过它了解Zbar的用法


//1、初始化捕捉设备

    //2、从捕捉设备创建输入流

    //3、初始化媒体数据输出流

    //4、初始化捕捉回话

    //4.1将输入流添加至会话

    //4.2将输出流添加至会话

    //5、创建串行队列,将媒体输出流添加至队列中,并设置代理

    //5.2设置媒体输出类型为:二维码

    //6、从捕捉会话创建预览图层

    //6.1设置预览图层填充方式

    //6.2设置图层的frame

    //6.3将预览图层添加到预览view的图层上

    //开始扫描

扫描一直在捕捉,需要有比较大的消耗,可能等待比较久,不能放在主线程中,为了不影响主线程,需要开一个子线程去操作

//oc中多线程的方式
GCD(c语言封装的)、 NSThread(oc中的)、NSOperationQueue
苹果规范要求,在子线程中不允许修改主线程的东西(比如修改ui)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值