La réponse est "non".
Trop de gens, à l'intérieur et à l'extérieur d'Apple, n'ont pas historiquement suivi les directives de développement d'applications d'Apple.
Cela inclut un tas de fichiers d'en-tête et de bibliothèques fournis par Apple, en plus des produits Apple.
S'il ne s'agissait que de produits Apple, Apple pourrait avaler cela comme un coût unique, et simplement remonter le numéro de version majeure.
S'il ne s'agissait que de bibliothèques fournies par Apple (un "framework" est une bibliothèque plus les fichiers d'en-tête pour les bibliothèques), alors Apple pourrait avaler un coût unique un peu plus important, mettre à jour les bibliothèques, et simplement remonter le numéro de version majeure.
Une fois que vous arrivez aux frameworks, vous commencez à avoir des problèmes dans les 5-6 ans.
La mise à jour d'un bug dans un fichier d'en-tête prend entre 5-6 ans avant que vous puissiez l'éliminer entièrement.
La raison en est que le code qui utilisait ce fichier d'en-tête a déjà été compilé en code binaire, et que vous mettez à jour le fichier d'en-tête ne corrigera pas le code qui a déjà été compilé.
Vous pouvez corriger les bibliothèques fournies par Apple, parce que vous pouvez simplement les mettre à jour, et parce que - à moins que quelqu'un ait été idiot quelque part - ce sont toutes des bibliothèques partagées - l'ancien code déjà compilé fonctionne simplement avec les nouvelles bibliothèques.
Donc vous devez attendre 5-6 ans sur un changement de fichier d'en-tête avant de retirer l'ancien mauvais code du fichier d'en-tête, et les gens n'utilisent plus les parties que vous rendez obsolètes.
Même en attendant 5-6 ans, vous avez tendance à casser certaines choses, comme les plugins Adobe Photoshop, qui font que les gens crient très fort sur vos lignes de support technique.
Même si les entreprises comme Adobe sont censées tester leurs produits qui fonctionnent encore sur la version actuelle de l'OS sur les builds de développement de l'OS, et mettre à jour leurs produits avant que cela ne devienne un problème pour leurs clients.
Il s'avère que les entreprises ne dépensent pas d'argent pour le travail de développement qui permet aux produits qu'elles vous ont déjà vendus de continuer à fonctionner, car cela ne leur rapporte pas plus d'argent : elles ne gagnent de l'argent que lorsque vous achetez de nouveaux produits.
C'est pourquoi les téléphones androïdes ne reçoivent pas de mises à jour logicielles : personne ne gagne d'argent là-dessus.
Ce qui, bien sûr, nous amène au cœur du problème.
Trop de gens ont écrit du code qui ne compare que le numéro de version mineur de l'OS, et fait des appels logiciels différents.
Et ils n'ont pas comparé le numéro de version majeur, qui est 10,
Et donc, si vous êtes passé de 10.13.6 (Mac OS High Sierra) to 11.1.1 (Mac OS Whatever)?
1 is less than 13.
No one checks to see if 11 is larger than 10.
And everything explodes.
OMFG! Someone is trying to run my software on Mac OS X Cheetah! Auuuuuuugggggvhhhhhhhhh! ← head exploding
So the answer is “no”.
Too many programmers have F’ed-up over the years, and they are still happily F-ing-up today.