background image

iOS

       

二维码生成与扫描

 

  

如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影。而手机等移动
设备又成为二维码的一个很好的应用平台,不管是生成二维码还是扫码二维码。
下面介绍一下如何在苹果

iOS 设备上使用二维码:

1. 扫描二维码(解码)
扫描二维码的开源库有很多如

 

ZBar、ZXing 等。在此以 ZBar
作为例子构建二维码扫码应用。

首先在

github 上下载 ZBar SDK

地址

https://github.com/bmorton/ZBarSDK

打开压缩包,其中有

ZBarSDK 文件夹

ZBarSDK 文件夹包含到项目中来

(Finder)
(XCode)
其中包含一个

libzbar.a 的静态库

接 着 往 项 目 中 添 加

Framework 框 架 及 链 接 库 ( 动 态 库 、 静 态 库 ) 。 在 项 目 属 性

TARGETSSummary 中找到 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 获取结果值

1

id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];  

2

ZBarSymbol *symbol = nil;  

3

for

(symbol in results)  

4

// EXAMPLE: just grab the first barcode 

  

5

break

;  

6

  

7

// EXAMPLE: do something useful with the barcode data

  

8

resultText.text = symbol.data;