我有一个应用程序,我一直在使用10.9 SDK开发10.9,我想分发给我的朋友谁正在运行10.8。我知道我不能保证它不会在没有找到OS X 10.8系统(可能在虚拟机中)并在那里运行它,但是有什么办法可以检查我没有使用任何仅支持10.9的API ?甚至可以获得我的应用程序使用的10.9-only API的列表?有没有办法告诉(在构建时)我的10.9应用程序是否将在10.8上运行?
我的理解是:
“部署目标”并没有这样做 - 这只是设置LC_VERSION_MIN_MACOSX,所以如果你想在OS X的早期版本上运行它,它会拒绝启动。
“基础SDK”不会这样做 - 这是它编译的API的版本。在较新版本的SDK中添加的某些功能在运行时即使在较早版本的OS X上也可用(例如,NSArray -firstObject)。
Xcode的静态分析是识别符号(类/方法),我使用的源相当不错的,所以它看起来这应该很容易做到的,但我不知道该怎么做。
我不认为这样的工具存在。我很想被证明是错误的。 –