Certains vont encore crier à l'obsolescence programmée, mais on devrait plutôt parler de mise au placard : Apple, avec l'arrivée d'iOS 6, va tuer l'iPhone 3G, sorti en 2008.
La raison est simple : la dernière version de Xcode, l'environnement de développement d'Apple, ne prend plus en charge l'architecture ARMv6 utilisée par le processeur de l'iPhone 3G. Concrètement, les développeurs qui veulent prendre en charge les nouveautés d'iOS 6 doivent abandonner le support de l'iPhone 3G et de certains iPod touch qui fonctionnent sous iOS 4.x. Il faut bien se rendre compte d'une chose : d'une part les performances de l'ARM11 et du GPU PowerVR MBX sont très faibles et d'autre part une bonne partie des applications sont déjà incompatibles.
Ce n'est pas de l'obsolescence programmée au sens strict du terme : le smartphone va continuer à fonctionner. Mais pour les utilisateurs, on est tout de même dans une logique de renouvellement forcée par Apple : certaines applications capables de se contenter de la puissance limitée du smartphone seront de facto incompatibles après mise à jour. Et iOS ne permet pas facilement d'éviter les mises à jour, sans compter que les développeurs n'indiquent pas nécessairement le changement de SDK.
Maintenant, il faut bien examiner le problème : le renouvellement forcé est contestable, c'est assez évident. Mais il a un avantage certain : éviter de garder une rétrocompatibilité souvent vue comme un boulet. Une des raisons de la réactivité d'iOS avec du matériel finalement assez lent — deux cores Cortex A9 à 800 MHz dans l'iPhone 4S — est liée aux optimisations de l'OS, qui ne prend plus en charge les CPU ARMv6 depuis plusieurs versions. Limiter la compatibilité a souvent un impact visible sur les performances, en obligeant les développeurs à utiliser les dernières API.