您的位置:首页 > 其它

扫描

2015-12-24 22:12 239 查看
扫描
扫描原理:底层通过捕捉设备,捕捉到一个图形,将图形转换成一个链接地址,最终需要的时一个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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: