我正在使用 OSX 10.8 开发 Mac OSX 应用程序。我想确保我的应用程序将在 10.7 上正确运行。
在我的来源中,我相信我没有使用 10.8 特定的 API 调用(但我可能会弄错)。我链接到的第三方库可能使用 10.8 特定的 API 调用。
我没有 10.7 的测试系统。我如何测试这样的二进制文件(可执行文件或库)以查看它是否应该在 10.7 上运行?
我正在使用 OSX 10.8 开发 Mac OSX 应用程序。我想确保我的应用程序将在 10.7 上正确运行。
在我的来源中,我相信我没有使用 10.8 特定的 API 调用(但我可能会弄错)。我链接到的第三方库可能使用 10.8 特定的 API 调用。
我没有 10.7 的测试系统。我如何测试这样的二进制文件(可执行文件或库)以查看它是否应该在 10.7 上运行?
第一个,最好的解决方案是只用 10.7 SDK 编译。然后你肯定知道它将在 10.7 上运行。
如果由于某种原因无法做到这一点,那么最好的工具是DeployMate和AppCode,它们可以搜索不正确的用法。
但我强烈建议使用您所针对的 SDK 进行编译。另请参阅Mac SDK:使用最新的 SDK,但确保与早期部署目标的向后兼容性
另请参阅https://gist.github.com/rnapier/3370649以获取有助于管理此操作的脚本。
如果您有正在寻找的特定 API,您可以使用 和 之类的工具otool
来nm
查看二进制文件是否包含对这些 API 的调用。有关它们如何工作的详细信息,请参见每个手册页。