在iPhone 5s 64位上运行32位库

时间:2013-09-24 14:10:13

标签: ios objective-c 64-bit zbar-sdk zbar

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

Trying to run on my iPhone 5s

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

1 个答案:

答案 0 :(得分: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,如果它不可用,你总是可以尝试从源代码编译。