75

我刚刚为 iOS 构建了一个静态库,并将 Architectures 的构建设置设置为$(ARCHS_STANDARD_INCLUDING_64_BIT).

我想确保 .a 库正确包含该架构,但是当我在其上运行lipo -info时,我看到:

fat文件中的架构: library.a 是: armv7 armv7s (cputype (16777228) cpusubtype (0))

这是否意味着不包括 arm64?如果 lipo 命令不能告诉我,还有其他方法可以告诉我吗?

我正在运行安装了最新命令行工具的 Xcode 5。

4

3 回答 3

121

是的,有一个 arm64 切片。要查看它,您需要lipo从 iOS 工具链中使用,而不是从主机系统(不了解 arm64):

xcrun -sdk iphoneos lipo -info $(FILENAME)
于 2013-09-24T22:45:46.990 回答
68

老好人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

似乎苹果公司还没有人愿意将 arm64 cputype 添加到file.

有趣的是,在 iOS 7 技术讲座视频(“架构现代应用程序,第 2 部分”,PDF 第 35 页)中,它们显示了一个工作文件工具的输出:

在此处输入图像描述

于 2014-01-21T15:02:02.410 回答
18

为一个.framework

lipo -info myFramework.framework/MyFramework

于 2015-12-28T02:28:45.493 回答