Das kann man googeln. Es gibt deshalb genug Gründe ein altes macOS mit original passender Xcode Version zu haben. Dann baut man nämlich mit den originalen Frameworks.
https://firefox-source-docs.mozilla.org/widget/cocoa/sdks.html
Dort wird genau das beschrieben, was ich sage: die Verantwortung liegt beim Entwickler. Er wird darauf hingeweisen und kann genau diese Dinge lösen. Man muss es halt machen.
Dieses ganze Thema trifft aber ausschließlich auf vorhandene Software zu. Nur hier sind diese Anpassungsthemen vorhanden. Wenn neue Software entwickelt wird, kann diese mit neuem Xcode ohne Probleme gegen ältere SDKs gelinkt werden und somit auch für ältere System zur Verfügung gestellt werden. Und das geht zur Zeit zurück bis zu SnowLeopard.
Hier noch die Zitate aus der website von Firefox, nicht das nu nnoch jemand anfängt was anderes zu behaupten:
es werden Versionen ab 10.11 unterstüzt:
For local builds, all SDKs from 10.11 to 10.15 are supported.
Das SDK von Catalina untersützt noch SnowLeopard builds.
The second aspect, available deployment targets, is usually not worth worrying about: SDKs have large ranges of supported macOS deployment targets. For example, the 10.15 SDK supports running your app on macOS versions all the way back to 10.6.
Apple stellt die Infos über geändertes runtime Verhalten zur Verfügung und gibt gleichzeitig für "alt-kompilierte" Anwenungen nach wie vor das alte Verhalten auch in neueren Systemen wieder:
When a new version of macOS is released, existing APIs can change their behavior. These changes are usually described in the AppKit release notes:
...
Sometimes, these differences in behavior have the potential to break existing apps. In those instances, Apple often provides the old (compatible) behavior until the app is re-built with the new SDK...
es liegt nun am Entwickler, auf die neuen APIs anzupassen
... expecting developers to update their apps so that they work with the new behavior, at the same time as they update to the new SDK.
Klar kann man nun als Entwickler sagen: das will ich nicht machen, weil ich keine Zeit habe / keine Lust habe / keine Ahnung habe.
Aber zu behaupten es wäre notwenig, ein altes SDK zu installieren ist schlichtweg falsch.