扫描
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)
扫描原理:底层通过捕捉设备,捕捉到一个图形,将图形转换成一个链接地址,最终需要的时一个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)
相关文章推荐
- NFC手机识别身份证的技术实现思路
- 分页技术
- linux软件包管理之一(rpm包管理)
- 使用Pycharm安装Python第三方库
- POJ-1456 Supermarket(贪心,并查集优化)
- Hibernate基本特性二 -- 一级缓存
- Activity启动模式
- POJ-1456 Supermarket(贪心,并查集优化)
- C字符串
- fork系统调用
- Java+MySQL实现网络爬虫程序
- 第三十八课 用break和continue改变流程 【项目1-2】
- iOS开发——单例的实现与使用
- MySql表中key的区别
- DOM扩展之Selectors API
- 并查集
- vc捕获matlab异常
- data-ng-show 指令
- 如何让C#像JavaScript一样编程
- 将GridView中的数据导出到Excel / Word中