I have a large macOS project that is getting close to release, and now the work of compatibility testing on older operating systems begins.
We would like to support OS X 10.9 through macOS 10.13. Right away, all of the apps crash on 10.9 because—somewhere—there's an inadvertent reference to a symbol or function call that was added in a later OS.
So....
It would seem like there would a be a tool in Xcode that would help identify symbols/classes/methods/functions that might not be available in the deplyment OS. But I can't seem to find anyway of finding said symbols.
My next thought was to simply change the Base SDK to 10.9, compile the projects, and see what errors I got. I could then verify that every "undefined" reference was property protected by code that used an alternate method on an older OS. But it now seems that Xcode 9 only ships with macOS 10.13 SDK and there no longer a place to downloading earlier SDKs. (I swear the "components" section in the settings used to have an SDK tab where you could get them.)
I can't be the first developer to run into this problem.
Any suggestion?