iOS开发技术 - 二维码扫描、生成

更多更详细教程请访问个人站点: [**码出一个长城**](https://www.yaozuopan.top)

由于本人已经把二维码类库(包含第三方库)打包成framework(即 DimensionalCode.framework),只要简单2步就可以实现二扫的扫描与生成,并且提供了完全自定义接口,可按照自己的爱好进行UI设计。下面教你怎么使用 DimensionalCode.framework。
1.在你的项目加入 

1.在你的项目加入  DimensionalCode.framework,并加包含头文件:

#import 

2.添加以下必须的类库:
    
QuartzCore.framework
     AVFoundation.framework
    CoreMedia.framework
     CoreVideo.framework
     libiconv.dylib  
完成上面两步就可以开始使用 
  DimensionalCode.framework了.
A.二维码生成使用示例:

 [DimensionalCode buildDimensionalCodeWithText:@"my dimensionalcode" // 生成二维码的字符串

                                                                                        size:250 // 生成二维码(正方形)大小的长(或宽)

                                                                    completeBlock:^(UIImage *image) {// image 为生成的二维码
 // 生成二维码后,如果还有做其他操作在些编码,比如保存二维码

   }];
如果想要生成带LOGO的二维码怎么办呢?别担心, DimensionalCode.framework提供有三个接口,可根据需要进行调用,下面示例只是其中一个接口.
 
[DimensionalCode buildDimensionalCodeWithText:@"my dimensionalcode" 
                                                                           
size:250 

                                                               QRecLevel:QR_ECLEVEL_H // 二维码容错率,最高为30%(即QR_ECLEVEL_H),即LOGO有大                                                                                                               // 小不能超过二维码图片的30%,否则二维码无法被扫描出信息

                                                                logoName:@"logo.jpg"           //你的logo 

                                                                  logoSize:CGSizeMake(2030)  // logo的大小

                                                         completeBlock:^(UIImage *image) {

// 

      }];

B.二维码扫描:

// 使用下面代码即可跳到扫描界面,对准二维码可自动扫描

    DimensionalCodeReaderViewController  *DCRV = [DimensionalCodeReaderViewController new];

        DCRV.scanDelegate = self;

    [self presentViewController:[[UINavigationController alloc] initWithRootViewController:DCRV] animated:YES completion:nil];

// 怎么获取二维码中的信息呢?

// 实现 DimensionalCodeReaderViewControllerDelegate中的 DimensionalCodeReaderWithContent:fromImage:方法即可。

- (void)DimensionalCodeReaderWithContent:(NSString *)myContent fromImage:(UIImage *)image

{

//myContent 为二维码信息

// image 为扫描到的二维码图片

    NSLog(@"%@",myContent);

}

// 如果想要完全定制UI,则要子类化DimensionalCodeReaderViewController(新建一类,继承DimensionalCodeReaderViewController),在子类的- (void)viewDidLoad方法中定制。在附件的Demo就是使用子类化的方式。

到此,相信你已经学会了二维码的扫描与生成呢,是不是感觉so easy,很Happy,DimensionalCode.framework让二维码扫描和生成如此简单,提高效率更easy.

下面说一下使用DimensionalCode.framework需要注意的事项,使用Xcode4的developer可以飘过,主要是针对Xcode5,大家都知道iPhone5S的CPU是64位即(arm64),如果你的项目的Architectures(Target -> build Settings -> Architectures -> Architectures)包含了arm64,则无法使用DimensionalCode.framework(编译报错,原因:ZBarSDK不支持arm64);如果最新版ZBarSDK支持arm64,我会即时更新DimensionalCode.framework以支持arm64,方便大家使用!

如果你想使用DimensionalCode.framework,只要把你的项目的Architecturs(Target -> build Settings -> Architectures -> Architectures)更改为standard architecturs(armv7,armv7s),即可正常使用!

如果大家在使用过程中,有什么问题,可发email:[email protected]

最后,DimensionalCode.framework包含了ZBarSDK和libqrencode ,非常感谢ZBarSDK和libqrencode的提供者!

Demo欢迎到http://download.csdn.net/detail/yao1500/6425119下载

你可能感兴趣的:(iOS,开发,ZBarSDK,framework,ios开发,二维码,技术)