5

我在我的应用程序中使用zbar。如果我想在配备 64 位处理器的 iPhone 5s 上运行它,我会收到以下错误:

尝试在我的 iPhone 5s 上运行

是否可以在 64 位设备上使用 32 位库,因为我不认为该库会被更新。

4

1 回答 1

5

总结一下上面的评论。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 的情况下,如果它不可用,您可以随时尝试从源代码编译自己。

于 2014-03-04T21:21:44.233 回答