我有一個應用程序,我一直在使用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的靜態分析是識別符號(類/方法),我使用的源相當不錯的,所以它看起來這應該很容易做到的,但我不知道該怎麼做。
我不認爲這樣的工具存在。我很想被證明是錯誤的。 –