检查静态库的iOS部署目标

我有很多像libBlah.a静态库file工具,我可以检查支持的体系结构。 (arm64或i386)

有工具来检查静态库的iOS Deployment Target

在这里输入图像说明

您可以使用otool来检查库文件。 通过一些实验,我发现标志-lv给了我有用的输出。 打开一个terminal窗口并切换到您的图书馆所在的目录:

 cd /path/to/parent/directory 

(提示:您可以将图标从取景器窗口的标题栏拖到terminal,它将进入您的path)。 然后键入以下命令:

 otool -lv myStaticLibrary.a | less 

input/ (search),然后LC_VERSION_MIN_IPHONEOS 。 你应该看到这样的东西:

 Load command 1 cmd LC_VERSION_MIN_IPHONEOS cmdsize 16 version 7.0 sdk n/a 

部署目标应该是version旁边的值。

目标OS版本在静态库的MachO头的LC_VERSION_MIN_IPHONEOS加载命令中编码。 您可以通过以下方式查看:

 otool -l mylib.a | grep -A 3 LC_VERSION 

示例输出:

  cmd LC_VERSION_MIN_IPHONEOS cmdsize 16 version 9.0 sdk n/a 

你有没有尝试过使用预处理macros?

 #if IPHONEOS_DEPLOYMENT_TARGET (iOS Deployment Target)