我正在尝试将QR码生成库集成到我的应用程序中。
QR生成器库是:
https://github.com/kuapay/iOS-QR-Code-Generator
我想我必须把它误集成,因为我收到了这个错误:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_Barcode", referenced from:
objc-class-ref in QRViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
最有可能造成这种情况的原因是什么?
答案 0 :(得分:11)
您最有可能链接到为设备编译的库版本(ARMv6 / v7架构),同时尝试编译模拟器(i386架构)。尝试在设备上运行。
如果在设备上运行它也不起作用,那么你可能根本就没有链接到库,你应该验证你在项目的“Link Binary With Libraries”构建阶段看到了库。
答案 1 :(得分:8)
我的问题就这样解决了 请按照说明进行操作:
TargetSettings -> Build Phases -> Compile Sources -> add your .m class ->Build and Run
答案 2 :(得分:1)
我已经修复了我的问题,首先将目标更改为库并按下" CMD + B",这将构建所有库文件。然后改回主目标以在设备上编译和运行。
注意:我正在使用cocoapods,并且在我的项目中也有自己的自定义动态库。
答案 3 :(得分:0)
我通过转到Xcode Build设置解决了同样的问题,并且在架构中将标准架构更改为: -
$(ARCHS_STANDARD_32_BIT)
答案 4 :(得分:0)
清理DerivedData文件夹,这有助于我
mv ~/Library/Developer/Xcode/DerivedData ~/Library/Developer/Xcode/DerivedData.old