ios - 为什么我不能在我的 iOS 应用程序中使用 ZXing(随 CocoaPods 安装)中的 QRCodeReader 类?

标签 ios zxing qr-code cocoapods

我使用cocoapods安装ZXing 2.1,我的Podfile内容如下:

platform :ios, '5.0'                                                                                                                                                 
pod 'ZXing/ios', '~> 2.1' 

一切正常,我可以导入使用#import <TwoDDecoderResult.h>使用TwoDDecoderResult类,但我不能使用 QRCodeReader然而,尽管我已经导入了 #import <QRCodeReader.h> 类 为什么?

最佳答案

我的问题是我无法在 X.m 文件中使用 QRCodeReader 类。 Xcode 会提示 iostream.h 文件未找到 以及一些“ undefined symbol ... avm7s”的链接错误(类似的东西)。另外,我的 cocoapods 是 0.25.0(您必须首先查看更改日志 here,我的 Xcode 是 4.6.3

经过查找,我的问题解决如下:

  1. 将我的 X.m 文件更改为 X.mm 文件后缀。那是因为我的X.mm文件想要使用QRCodeReader,它本来是ZXing中的C++类

  2. 将您的项目和目标build设置:“仅构建有效架构” 标志设置为 NO。对您的 Pod 项目和目标也重复此步骤。

  3. 项目 -> build设置中滚动并找到选项:C++ Language Dialect 和 C++ Standard Library。为它们选择“编译器默认值”选项。 (这是我错过的步骤,这是必需的,因为最新的 XCode 模板具有与旧版本中不同的编译器默认设置)。

现在构建并运行,它会好的。

关于ios - 为什么我不能在我的 iOS 应用程序中使用 ZXing(随 CocoaPods 安装)中的 QRCodeReader 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18952695/

相关文章:

android - GridLayoutManager spanSizeLookup 错误

C# 使用 ZXING.NET 解码真实图像中的 QRCODE

ios - Ionic 4 禁用 iOS 仅在一页中滑动返回

android - 在 Android 应用程序中生成二维码

java - zxing Activity 扫描嵌入的二维码

barcode - 这是什么类型的矩阵条码?

javascript - 使生成的二维码可在React项目上下载

ios - 未调用 RestKit 值转换器验证 block

objective-c - 如何更改TapkuLibrary日历对象上的事件标记

ios - 使用委托(delegate)时弹出 ViewController