IOS使用ZBarSDK实现二维码的生成和扫描

  现在二维码的使用也是越来越多,那我们在做APP的时候,有时也需要考虑二维码的生成和扫描

  首先简单的讲一下二维码的生成

   首先定义一个ImageView来显示生成的二维码图片

   只是简单的做一下字符串转化成二维码

   导入 libqrencode文件

   引入头文件#import "QRCodeGenerator.h" 即可使用

   imageview.image = [QRCodeGenerator qrImageForString:@"www.cnblogs.com/myselfxiaoxiao" imageSize:imageview.bounds.size.width];// 这是一个类方法,第一个参数为需要转换的字符串,第二个参数为转换的二维码的大小.

  其他的转换方式,可以自己进行研究.

 主要是讲讲二维码的扫描.扫描功能需要在真机上进行测试

   扫描二维码部分:

    导入ZBarSDK文件并引入一下框架

    AVFoundation.framework

    CoreMedia.framework

    CoreVideo.framework

    QuartzCore.framework

    libiconv.dylib

    引入头文件#import “ZBarSDK.h” 即可使用

   

  ZBarReaderViewController *reader = [ZBarReaderViewController new];  //读取控制器

    reader.readerDelegate = self;  //签订代理人,当读取到二维码或条形码时会走相应的方法   使用的协议是<ZBarReaderDelegate>

    reader.supportedOrientationsMask = ZBarOrientationMaskAll; //基本适配

    

    ZBarImageScanner *scanner = reader.scanner;  //二维码和条形码识别设置

     [scanner setSymbology: ZBAR_I25

                   config: ZBAR_CFG_ENABLE

                       to: 0];

    

    [self presentModalViewController: reader

                            animated: YES];  //弹出相机

    [reader release];

 

接下来实现代理方法

- (void) imagePickerController: (UIImagePickerController*) reader

 didFinishPickingMediaWithInfo: (NSDictionary*) info

{

id<NSFastEnumeration> results =

    [info objectForKey: ZBarReaderControllerResults];

    ZBarSymbol *symbol = nil;

    for(symbol in results){

        break;

    

    }

    

    imageview.image =

    [info objectForKey: UIImagePickerControllerOriginalImage];

    

    [reader dismissModalViewControllerAnimated: YES];

    

    NSString *content = symbol.data;

   //接下来针对读取到的信息做相应的操作,例如如果是网址,打开网页,等等.

 

 

}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。