iPhone OS 1.0 (iOS 1) tourne sur Mac avec un émulateur
Le développeur Martijn de Vos a réussi à émuler iPhone OS 1.0 (ancien nom d’iOS) sur son Mac grâce à QEMU. Le système d’exploitation mobile d’Apple passe ici par un iPod touch virtuel.
iPhone OS 1.0 est de retour… sur Mac
Martijn de Vos explique que ce projet a nécessité plus d’un an de travail. Il a dû faire beaucoup d’analyses pour tenter de deviner comment telle et telle fonctionnalité était développée afin de la recréer. Le développeur a également dû trouver un moyen de simuler des éléments comme le support multitouch et d’autres composants matériels.
Sur son blog, le développeur explique que la partie la plus délicate était d’émuler les composants matériels de l’iPod touch. C’est pourquoi il a choisi d’émuler la première version du système d’exploitation de l’iPhone faite pour l’iPod touch plutôt que pour l’iPhone, car faire fonctionner la version iPhone nécessiterait d’émuler encore plus de composants (comme la partie cellulaire et le Bluetooth).
Pourquoi iPhone OS 1 et non une version un peu plus récente ? Martijn de Vos fait savoir que cette version comporte beaucoup moins de mécanismes de sécurité que les versions plus récentes du système d’exploitation. « Les appareils Apple contemporains contiennent de nombreux composants matériels supplémentaires, tels que des moteurs neuronaux, des enclaves sécurisées et une variété de capteurs qui rendront l’émulation de ces appareils beaucoup plus difficile et longue », explique le développeur néerlandais.
Vient alors une question toute simple : est-ce que tout cela fonctionne ? La réponse est oui… globalement. Il est tout à fait possible de naviguer sur le système avec son clavier et sa souris. La plupart des applications préinstallées fonctionnent sans problème. En revanche, le système peut se bloquer selon la situation. Aussi, il n’est pas possible d’installer des applications tierces pour une raison toute simple : l’App Store n’existait pas à l’époque.
Pour rappel, Corellium vend des appareils iOS virtuels, mais tous les outils et le code sont privés. Ici, Martijn de Vos propose une solution open source. Son prochain projet est d’émuler l’iPod touch de 2e génération qui avait iPhone OS 2.1 au lancement.