iOS中的zxing集成步骤

参照网上各大神文章,自己总结了下如下,欢迎大家指正与交流!(主参照:http://blog.csdn.net/brokge/article/details/9045629)

1. 到 github下载开源库 (https://github.com/zxing/zxing)

2. 得到代码后只需要 cpp部分和iphone部分,如下:

    

3. 继续剪裁 cpp 和iphone文件夹,如下:

    

4.将修改好的zxing文件夹全部添加到我们的目标工程中,并且把ZXingWidget.xcodeproj文件拖到工程

5. 添加依赖Framework:

    AVFoundation  AudioToolbox  CoreVideo  CoreMedia   libiconv  AddressBook  AddressBookUI

6.

7. 选择工程,targets,build settings,找到 header search path,添加值:

    ./zxing/iphone/ZXingWidget/Classes                recursive

    ./zxing/cpp/core/src                           non-recursive

我的路径是:

    

到此环境搭建完成,下一步开始调用

    8.引用:

        #import <ZXingWidgetController.h>  #import <QRCodeReader.h>

        别忘了设置代理

    然后:

注意:

       1. 修改当前的 XXviewController.m文件为XXviewController.mm            解决:iosstream file not found

       2. 在Zxing所在的工程中build setting下Other warning flags选项删除"-Werror"和"-Wno-unused-parameter"两个编译选项,即可消除此错误。    解决: private field 'cached_y_' is not used

    

推荐一个不错的在线生成二维码的网站:http://cli.im/

.m文件与.mm文件区别:

.m文件是纯Object-C 文件 ;  .m只能调用纯Object-C的类,不能调用混合的

.mm是Object-C和C++混合文件 ; .mm可以调用Object-C的,也可以调用C++的


http://blog.csdn.net/ysy441088327/article/details/8515556 总结的也很好。

    





原文地址:https://www.cnblogs.com/water-wjf/p/4208324.html