ZXing加入到iphone工程图文教程:
目前ZXing for iphone只提供二维码的demo,一微码等有空了再写。
1.下载最新的ZXing开发包(具体下载地址在Github上或baidu或google)。文件目录结构如下所示:
2.去掉上面多于的东西,因为我们并不需要它们。去掉后的文件目录只剩下cpp和iphone两个文件夹:
cpp文件夹中只保留 core->src->zxing中的内容,因为这才是我们真正要的东西。 cpp结构如下:
iphone目录下我们只需要ZXingWidget目录,其他的都是demo代码。文件结构如下:
3.上面第2步已经将代码最精简化了,这里我觉得有必要而且很重要的是将cpp和iphone这两个目录放到同一个文件夹中,我这里命名为ZXing(也就是这下面包括cpp和iphone2个目录),然后将ZXing这个目录拖到我们要加入的工程中(请确保是与工程在同级目录中),这里的作用是以后在项目中找header search path更方便。如下图,ZXingTest为我建的工程。
4.现在你可以运行ZXingWidget.xcodeproj,然后build。这样的目的是关联该工程的所以代码。然后将ZXingWidget.xcodeproj工程文件拖入工程中(这里不用点copy了,因为我们用引用就可以了),如下图是已经加入的工程。
5.在TARGETS中的Build Phases中加入依赖关系和要加入的库,请对照下面的文件将Target Dependencies和Link Binary with Libraries中内容点击“+”号加吧:
6.这个时候在Build Setting选项卡中加入Header Search Paths。(还记得我们第3步做过什么吧,这里就是大多数人说为啥出现找不到头文件的错误原因,”./”表示的是当前目录,这样在以后移动工程的时候我们就不用再重新设置搜索头文件的路径了)。
7.在需要用的工程中加入头文件“#import "ZXingWidgetController.h"”和代理内容:
.mm文件中这里要加入#import "QRCodeReader.h"
上面代码中注意要将beep-beeo.aiff文件加入工程中,不然要报错噢。下面是代理即扫描到二维码后的结果。
8.如果遇到找不到<iostream>这个头文件的错误时, 请将main.m和当前实现文件改为.mm的后缀,因为包含其他C/C++的文件。还有这个是需要真机编译才能出结果的,不然真的会报错。 OK,折腾完了!!!!!!!!