您的位置:首页 > 其它

使用ZXing的二维码扫描和生成问题记录

2014-02-19 14:02 155 查看
忽然产品说要二维码的扫描和生产。既然产品说要了那就只有做啦。

网上扒出一篇文章介绍zxing如何集成扫描功能的,原地址点击打开链接。基本参照文章的来完成大部分的集成。而且github上有个demo的例子下来的运行几个版本测试了下一起看的,原网址:点击打开链接

等到自己做的时候还是遇到了问题。

加入项目中还是出现了错误

1 'iostream' file not found 这是忘记修改.m文件成.mm的c++文件

2 还有个加了断点之后真机弹出扫描页面直接挂。。。。去了断点就好

一是项目使用的ARC的。

ZXingWidgetController *widController = [[ZXingWidgetControlleralloc]initWithDelegate:(id<ZXingDelegate>)selfshowCancel:YESOneDMode:NO];
不能直接使用self。要转过:(id<ZXingDelegate>)self
原问题网址:点击打开链接

二是项目对于c++编译的设置

I had the same issue and following configuration in "Build Settings" works for me.

C
Language Dialect: GNU99 [-std=gnu99]


C++
Language Dialect: Compiler Default


C++
Standard Library: Compiler Default

将c++的修改成上面的设置的。

三编译出错问题
ld: warning: ignoring file xx/Build/Products/Debug-iphoneos/libZXingWidget.a, file was built for archive which is not the architecture being       linked (armv7s): xx/Build/Products/Debug-iphoneos/libZXingWidget.a

     "_OBJC_CLASS_$_ZXingWidgetController", referenced from:

    objc-class-ref in MZHomePageViewController.o

    "_OBJC_CLASS_$_QRCodeReader", referenced from:

    objc-class-ref in MZHomePageViewController.o

    ld: symbol(s) not found for architecture armv7s

解决方案:设置“Architectures" 和 "Valid Architectures

如图所示:



生成二维码:
上面说的github里的demo里有生成二维码的例子;代码中用到了类库libqrencode。
我是将项目文件夹都拖都了项目下并把它的.Xcodeproject包含进项目中来, 然后增加 Target Dependencies 和 Link binary把它的lib添加进来。并且在Build Setting的header
search path中添加路径。再拷贝生成的代码。这些都可以在demo的项目中找到。

好像有时扫描的不是很稳定///
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: