我使用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
经过查找,我的问题解决如下:
将我的 X.m 文件更改为 X.mm 文件后缀。那是因为我的X.mm文件想要使用QRCodeReader,它本来是ZXing中的C++类
将您的项目和目标build设置:
“仅构建有效架构”
标志设置为NO
。对您的 Pod 项目和目标也重复此步骤。在主项目 -> build设置中滚动并找到选项:C++ Language Dialect 和 C++ Standard Library。为它们选择“编译器默认值”选项。 (这是我错过的步骤,这是必需的,因为最新的 XCode 模板具有与旧版本中不同的编译器默认设置)。
现在构建并运行,它会好的。
关于ios - 为什么我不能在我的 iOS 应用程序中使用 ZXing(随 CocoaPods 安装)中的 QRCodeReader 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18952695/