如何扫描OSX二进制文件以获取API用法?

时间:2013-08-12 23:47:07

标签: macos

我正在使用OSX 10.8开发Mac OSX应用程序。我想确保我的应用程序在10.7上正确运行。

在我的来源中,我相信我没有使用10.8特定的API调用(但我可能会弄错)。我链接到的第三方库可能使用10.8特定的API调用。

我没有10.7的测试系统。如何测试这样的二进制文件(可执行文件或库)以查看它是否应该在10.7上运行?

2 个答案:

答案 0 :(得分:1)

如果您正在寻找特定的API,则可以使用otoolnm等工具查看二进制文件是否包含对这些API的调用。有关它们如何工作的详细信息,请参阅每个的手册页。

答案 1 :(得分:1)

第一个最好的解决方案是使用10.7 SDK进行编译。然后你肯定知道它会在10.7上运行。

如果出于某种原因无法做到这一点,那么可用的最佳工具是DeployMateAppCode,可以搜索不正确的用法。

但我强烈建议使用您要定位的SDK进行编译。另请参阅Mac SDK: using latest SDK but ensuring backwards compatibility with earlier deployment target

另请参阅https://gist.github.com/rnapier/3370649以获取有助于管理此脚本的脚本。