xcode - 从框架确定 OS X SDK 和部署目标版本

标签 xcode macos otool

相当简单的问题 - 如果我有一个 .framework 文件,是否有命令/工具可用于确定用于创建框架的 SDK 和部署目标版本?

同样,这可以对存储在 .app 文件内的应用程序二进制文件执行吗?我希望自动化一个脚本,该脚本将搜索先前构建的应用程序/框架的列表,而无需原始 .xcodeproj 文件,并确定其支持的高/低操作系统版本。

最佳答案

要找出某些二进制文件的 SDK 和部署目标,您应该探索 LC_VERSION_MIN_MACOSX 加载命令。使用otool -l <some_binary>查看加载命令。
示例:

$otool -l my_binary
...
Load command 9
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.7
      sdk 10.8
...

$otool -l /System/Library/Frameworks/CoreWLAN.framework/CoreWLAN 
...
Load command 8
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.8
      sdk 10.8
...

管道连接到 grep 的示例:

otool -l my_binary | grep -A 3 LC_VERSION_MIN_MACOSX

关于xcode - 从框架确定 OS X SDK 和部署目标版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17461196/

相关文章:

macos - 完全分解可执行二进制文件

xcode - install_name_tool -change 和 -id 之间的区别

linux - 如何使用命令 "find"在目录中查找包含特定字符串的文件?

c++ - 如何 "usb to tty"?

xcode - 使用 NSURLSession 连接到具有无效证书的服务器(swift2、xcode7、ios9)

ios - 如何在 swift 中使用 FieldValue.serverTimestamp() 将时间戳分配给 FireStore

ios - 还有其他人无法将XCode更新到4.3.1吗?

iOS otool 检测私有(private) api

ios - XCode 8 CoreData 自动生成基类

swift - SCNReferenceNode 中没有可用的 SCNGeometry?