我刚为iOS构建了一个静态库,其架构设置为$(ARCHS_STANDARD_INCLUDING_64_BIT)
。
我想确保.a库正确包含该架构,但当我在其上运行lipo -info
时,我看到:
胖文件中的体系结构:library.a是:armv7 armv7s (cputype(16777228)cpusubtype(0))
这是否意味着不包括arm64?如果lipo命令无法告诉我,还有其他方法可以告诉我吗?
我正在运行安装了最新命令行工具的Xcode 5。
答案 0 :(得分:116)
是的,有一个arm64切片。要查看它,您需要使用iOS工具链中的lipo
,而不是来自主机系统(不知道arm64):
xcrun -sdk iphoneos lipo -info $(FILENAME)
答案 1 :(得分:64)
好老file
也可以做到这一点:
$ file libTestFlight.a
libTestFlight.a: Mach-O universal binary with 5 architectures
libTestFlight.a (for architecture armv7): current ar archive random library
libTestFlight.a (for architecture armv7s): current ar archive random library
libTestFlight.a (for architecture i386): current ar archive random library
libTestFlight.a (for architecture x86_64): current ar archive random library
libTestFlight.a (for architecture cputype (16777228) cpusubtype (0)): current ar archive random library
Apple似乎没有人愿意将arm64 cputype添加到file
。
有趣的是,在iOS 7技术讲座视频(“建筑现代应用程序,第2部分”,PDF第35页)中,它们显示了一个工作文件工具的输出:
答案 2 :(得分:15)
对于.framework
lipo -info myFramework.framework/MyFramework