iOS开发之二维码的应用
来源:互联网 发布:知敬畏守规矩 申论 编辑:程序博客网 时间:2024/06/05 07:43
原文地址:http://blog.csdn.net/xialibing103/article/details/8011904
如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影。而手机等移动设备又成为二维码的一个很好的应用平台,不管是生成二维码还是扫码二维码。
下面介绍一下如何在苹果iOS设备上使用二维码:
扫描二维码的开源库有很多如 ZBar、ZXing等。在此以ZBar作为例子构建二维码扫码应用。
首先在github上下载ZBar SDK
地址https://github.com/bmorton/ZBarSDK
打开压缩包,其中有ZBarSDK 文件夹
将ZBarSDK 文件夹包含到项目中来
(Finder)
(XCode)
其中包含一个libzbar.a的静态库
接着往项目中添加Framework框架及链接库(动态库、静态库)。在项目属性TARGETSSummary 中找到Linked Frameworks and Libraries
添加
AVFoundation.framwork, CoreMedia.framework, CoreVideo.framework, libiconv.dylib 和libzbar.a (如图)
然后在使用的地方引入头文件
#import "ZBarSDK.h"
调用ZBar的类必须实现ZBarReaderDelegate协议
如:UIViewController <ZBarReaderDelegate>
在- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
最后在协议方法中通过info获取结果值
- id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
- ZBarSymbol *symbol = nil;
- for(symbol in results)
- // EXAMPLE: just grab the first barcode
- break;
- // EXAMPLE: do something useful with the barcode data
- resultText.text = symbol.data;
- id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
- ZBarSymbol *symbol = nil;
- for(symbol in results)
- // EXAMPLE: just grab the first barcode
- break;
- // EXAMPLE: do something useful with the barcode data
- resultText.text = symbol.data;
文档地址http://zbar.sourceforge.net/iphone/sdkdoc/
二维码开源库ZXing的加载过程与此类似,但是ZXing默认并不支持一维码的扫描,而ZBar是支持的。
2. 生成二维码(编码)
在生成二维码的库中QREncoder 比较好用。ZXing库的android版本是带java版的编码库的但不知为何没有C++版的解码库,故在ios上也没法解码,如果应用中既要生成二维码又要扫描二维码就有可能要带两套不同的库。
首先同样是在github 上下载到SDK库
地址https://github.com/jverkoey/ObjQREncoder
解压后将源码库直接包含到项目中来(如图)
设置头文件路径,在TARGET中building settings Search Path
当然也可以直接将库编译成静态库libQREcoder.a然后在包含进来接着在Frameworks 中添加静态库的引用
然后在使用该库的地方包含头文件
#import <QREncoder/QREncoder.h>
注意:二维码显示的时候有可能会因为图像的大小而做调整,所以需要包含系统库QuartzCore.framework
最后就可以调用编码库了:
- UIImage* image = [QREncoder encode:@"http://www.baidu.com/"];
- UIImage* image = [QREncoder encode:@"http://www.baidu.com/"];
- iOS开发之二维码的应用
- iOS应用之 二维码
- iOS开发之二维码
- iOS开发之二维码的生成
- IOS二维码的应用
- iOS开发之 二维码生成/二维码扫描
- iOS开发之二维码扫描
- iOS开发-二维码扫描和应用跳转
- iOS开发-二维码扫描和应用跳转
- iOS开发-二维码扫描和应用跳转
- 二维码iOS开发-二维码扫描和应用跳转
- iOS开发之扫描二维码功能的实现
- 【iOS开发】二维码生成 二维码读取 (带Logo的二维码)
- iOS开发------原生的二维码
- ios 开发之 扫描二维码和生成二维码
- 学习iOS开发之生成二维码
- 学习iOS开发之扫描二维码
- iOS开发之原生二维码生成
- 核心标签库<c:set>标签、<c:choose>标签、<c:forEach>标签&<c:if>标签的使用例子
- Android dip是什么
- 【每日一摩斯】-LGWR Is Generating Trace file with "Warning: Log Write Time 540ms, Size 5444kb" In 10.2.0.4
- Source Insight快捷键及使用技巧
- hdu 4611 Balls Rearrangement (找循环节)
- iOS开发之二维码的应用
- uva 10020 Minimal coverage(贪心-最小覆盖问题)
- 图表插件-15款经典图表插件软件推荐 创建最漂亮的图表
- Codeforces Round #147 (Div. 2) / 237B Young Table (搜索)
- 周总结
- gsoap实现webservice如何发送结构体数组
- 数组元素的比较
- 8种排序算法--折半插入算法
- 基本数据结构之Binary Search Tree