我在我的应用程序中使用zbar。如果我想在配备 64 位处理器的 iPhone 5s 上运行它,我会收到以下错误:
是否可以在 64 位设备上使用 32 位库,因为我不认为该库会被更新。
总结一下上面的评论。64 位 iPhone 应用程序要求所有组成库和框架都是 64 位的。你不能混搭。从长远来看,让应用程序保持 32 位不是最佳选择,因为 iOS 必须在运行单个 32 位应用程序时立即加载两个版本的系统库(32 和 64)。因此,您不想成为最后一个支持 64 位的应用程序!
您可以使用 lipo 检查您的库是否包含 64 位代码。例如,这里是 32 位的 SBJson 框架:
$ lipo -info SBJson.framework/SBJson
Architectures in the fat file: SBJson.framework/SBJson are: armv6 armv7 i386
并使用 64 位代码
$ lipo -info SBJson.framework/SBJson
Architectures in the fat file: SBJson.framework/SBJson are: armv7 armv7s i386 x86_64 arm64
在 zbar 的情况下,如果它不可用,您可以随时尝试从源代码编译自己。