But doesn't that go for anything? Take android where you need to account not only for all the cases of versions but also for every differentiated version from every brand and device, or if you build for things like silverlight which gets killed with no replacement. There are always things changing and unless you are on the same path as the vendor you're gonna get screwed. It's always been like that.
I think you misunderstand what I mean. There is an API, which is documented to function in some way. You'd expect it to continue functioning like that down the road, but since Apple engineering has such poor QA and is always rewriting things, their developers just let things slip through the cracks, often creating broken API for years. Android whataboutism is not really productive here.
Odd. I never had a public API go bad on macOS, ever. There were always multi-year planned deprecations etc but no sudden changes. The only issue I remember had to do with a toolbox issue before my time where timing wasn't always reliable to be sub-ms precise. Even 68k to PPC transition went fine API-wise, as well as toolbox to carbon.
Perhaps you are exclusively referring to mobile 'apps' and the APIs you can use for those?
Yeah, the context of the post you replied to is for iOS APIs. AppKit is a lot more stable, and it shows. It is still possible to run 10-12 year old software on Mojave (but not on Catalina). On the other hand, sometimes even one OS upgrade can break existing software visually or worse on iOS.