语境
我正在将我的 Mac 应用程序使用的几个库/框架转换为新 Apple Silicon Macs 的通用二进制文件。
问题
我有两个版本的二进制框架:一个x86_64
为arm64
. 我总是检查框架otool
以确保正确设置了最小部署目标。为此,我使用以下命令:
otool -lv myIntelX86Library.a
在输出中,我看到了我所期望的:
Load command 1
cmd LC_VERSION_MIN_MACOSX
cmdsize 16
version 10.12
sdk 11.0
arm64
在二进制文件上运行相同的命令11.0
会生成arm64
.
然而:
一旦我将这两个库组合成一个胖二进制文件,使用:
lipo -create <pathToIntel.a> <pathToArm.a> -output <pathToUniversal.a>
当我otool -lv
在通用二进制文件上运行时,我再也无法LC_VERSION_MIN_MACOSX
在输出中的任何位置找到该命令。它没有出现。
如何验证x86_64
胖二进制文件的部分是否设置了正确的部署目标?谢谢你。