ZXing框架介绍

原文地址:http://blog.csdn.net/ysy441088327/article/details/8515556


如何安装:

1:ZXingWidget的托管地址如下:

http://code.google.com/p/zxing/downloads/list

2:关于库里的一些文件

不是所有的文件我们都用的到,

下载zxing2.0后,解压得到zxing-2.0文件夹,里面只保留  cpp  和 iphone 两个文件夹就可以了。


3:我比较用WorkSpace(工作空间)的方式引入第三方资源

那么有一步骤可以省去:

4:frameWorks添加如下几项:

libZXingWidget.a

AddressBook

AddressBookUI

AudioToolbox

AVFoundation

CoreMedia

CoreVideo

libiconv.dylib

完成后如下图:


5:不要忘记设置一个扫描成功时的音频文件:

[csharp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. widController.soundToPlay = [NSURL fileURLWithPath:[mainBundle pathForResource:@"beep-beep" ofType:@"aiff"] isDirectory:NO];  

6:保持项目的C++混编译模式

首先请做如下操作:

1.请更改你的delegate文件的.m文件为.mm (请注意,如果你在项目中重命名,并不会使物理路径中的文件名被更改,所以请更改物理文件名)

MyZxingAppDelegate.m 改成 

   

MyZxingAppDelegate.mm

2.请更改你要使用zxing的项目文件的.m文件为.mm

MyZxingViewController.m 

改成 

   

MyZxing

ViewController

 .mm



使用:

7:下载我的Demo 试试看:

XCode 4.6 iOS6.1 测试通过

Demo地址:猛击此处!



可能遇到的问题:

1.如果你项目中使用了zxing,但是在xcode升级到4.5以后出现Incompatible pointer types sending 'Class' (aka 'Class *') to parameter of type 'id<NSCopying>'错误,解决办法:重新下载更新版本的ZXing, 可以使用命令下载最新版本:svn checkout http://zxing.googlecode.com/svn/trunk/ zxing-read-only。

2.如果出现了问题Undefined symbols for architecture i386"std::string::c_str() const", referenced from。。。。,

将你项目中的Apple LLVM compiler 4.1 - language中的 c Language Dialect、c++ Language Dialect、c++ standard Library设置成下图所选的值。参考http://stackoverflow.com/questions/12665457/zxing-in-xcode-4-5-and-ios-6

3.编译成功往真机上装的时候出现Choose a destination with a supported architecture in order to run on this device ,由于ios设备不支持armv7s,所以必须将Architectures设置为armv6,但是仅仅需要改动valid architectures就行,不要改动architectures,否则容易引起真机不运行。把architectures改为$(ARCHS_STANDARD_32_BIT)就可以装到手机上了。见http://blog.sina.com.cn/s/blog_90a0ad8d01013uuh.html

4:XCode 手贱升级到了 4.6  ZXingSDK  编译不过去了.

出现什么变量声明了没有使用的编译错误提示(可是明明使用了):

Member initializer 'bits_' does not name a non-static data member or base class

谷歌老外牛人多啊,或者说老外也遇到这个问题了,然后提问了,问答地址如下:

http://code.google.com/p/zxing/issues/detail?id=1494

里面说到将 ZXingWidget - BuildSettings - Other Warning Flags 里的 -Werror 和 -Wno-unused-parameter 去掉,

但其实只要去掉 -Werror 就可以了, 如果 -Wno-unused-parameter  这个也去掉了会产生很多变量没有使用的警告.

此时可以编译通过了,烦恼的是  也有少许警告.




2014-02-18 16:03:17

番外篇ZXingObjC:

ZXingObjC通过名字即可知道它是干什么的,它是二维码扫描开源方面的又一力作,代码采用纯Objective-C实现,内存管理使用ARC,并且作者依旧在持续更新,那么在稳定和代码结构方面应该是优于ZXing原本的实现.相比ZXing的使用和部署,ZXingObjC就简单很多,最关键的是,它还支持CocoaPods.那么安装起来就非常非常简单了.接下来一起来看看如何使用它.


如何安装:

ZXingObjC通过CocoaPods即可快速安装.

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页