You basically need VMs for every version of OS X you want to support, and need to keep copies of the old OS X SDKs since Apple seems not to test that newer ones will continue to work despite superficially supporting choosing a target version.
Most developers don't bother, as Apple has successfully made it quite difficult.
Most developers don't bother, as Apple has successfully made it quite difficult.