Ouvrir le menu principal

MacGeneration

Recherche

Bitcode pourrait simplifier la transition vers ARM, la preuve

Nicolas Furno

lundi 20 mai 2019 à 11:25 • 15

macOS

Depuis 2015, les développeurs doivent parfois envoyer un fichier Bitcode pour publier leur app sur l’App Store. Ce fichier n’est pas une app compilée et prête à l'emploi, c’est un intermédiaire entre le code source et l’app qui contient toutes les informations nécessaires à la compilation. Bitcode est disponible sur iOS, tvOS et watchOS, et même obligatoire pour cette dernière.

Extrait du State of the Union 2015 où Apple a présenté Bitcode, symbolisé par la deuxième icône en partant de la gauche sur cette capture.

Pourquoi est-ce qu’Apple veut ce fichier intermédiaire plutôt qu’une app qu’elle peut envoyer directement aux clients de l’App Store ? Parce que ce fichier Bitcode peut servir à compiler une nouvelle version de l’app sans aucune intervention des développeurs. Concrètement, cette fonction a déjà servi au moins une fois, pour l’Apple Watch Series 4. Ce modèle sorti l’an dernier est la première montre d’Apple à intégrer un processeur 64 bits, les générations précédentes se contentaient d’un processeur 32 bits.

Pour profiter de cette transition, les apps qui tournent sur l’Apple Watch devaient être compilées en 64 bits. Sans Bitcode, les développeurs auraient dû tous soumettre une mise à jour avec une nouvelle version compilée, un processus qui prend du temps. Grâce à cette fonction, Apple a pu le faire de son côté et offrir dès le premier jour l’intégralité des apps watchOS compilées en 64 bits.

Depuis la présentation de Bitcode, on se demandait si cette fonction pourrait servir dans l’éventualité d’une transition des Mac d’Intel à ARM. Pour autant, il subsistait un doute sur la capacité d’Apple à réaliser des transitions aussi importantes sans accès au code source. Chris Lattner, le créateur de Swift, avait même indiqué dans une interview qu’un passage de x86, l’architecture Intel, à ARM était trop complexe pour ce fichier intermédiaire.

Il en faut plus pour décourager Steve Throughton-Smith, développeur et bricoleur de talent, qui s’est mis en tête de vérifier si Bitcode ne pourrait pas convenir malgré tout. Après quelques heures, il a réussi à convertir une app iOS ARM très simple en une app macOS x86 sans toucher au code source, prouvant que Bitcode pouvait suffire. En théorie, Apple pourrait ainsi « convertir » automatiquement des apps Intel en apps ARM sans intervention de leurs créateurs, mais il manque plusieurs éléments pour que ce scénario soit réalisable.

Pour commencer, il n’est pas possible d’utiliser Bitcode pour soumettre des apps sur le Mac App Store. Apple pourrait régler ce problème avec macOS 10.15 et peut-être même rendre cette fonction obligatoire pour tous les développeurs ? Quatre ans après sa présentation, Bitcode est toujours optionnel sur iOS et tvOS, mais on peut supposer que cela changera aussi un jour.

Steve Througton-Smith note aussi que la version actuelle de Bitcode n’est pas optimale pour une telle transition. D’ailleurs, son exemple se limite à un code « Hello World » très simple et ne fonctionne pas pour les apps complètes. Naturellement, c’est aussi quelque chose que la firme pourrait changer cette année en introduisant une mise à jour.

Démonstration de la transition ARM vers X86 en utilisant Bitcode, ici pour une app extrêmement simple.

Si tout va bien, Apple pourrait mettre en place cette année tout ce qu’il faut pour faciliter la transition vers ARM dans un an ou deux, comme le veulent les rumeurs. En agissant ainsi, l’entreprise pourrait éviter une annonce en amont, comme elle l’avait fait pour la transition vers Intel dans les années 2000. À cette époque, il s’agissait de prévenir tous les développeurs pour qu’ils compilent de nouvelles versions de leurs apps. Si la firme peut compiler elle-même ces versions, elle n’a plus besoin de les prévenir aussi tôt.

La démonstration de ce développeur prouve autre chose. Bitcode pourrait aussi permettre à Apple de convertir des apps iOS en apps macOS grâce à Marzipan, là encore sans intervention des développeurs. Cela ne fonctionnerait que pour les apps qui utilisent cette fonction, mais ce pourrait être une solution pour enrichir le catalogue du Mac App Store à peu de frais.

En attendant, vous pouvez jouer avec les découvertes de Steve Throughton-Smith en utilisant ce script et les instructions données sur son blog.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

L’ARCOM valide la solution temporaire de la CB pour les sites frivoles

11/10/2024 à 21:15

• 15


L'application Steam Link streame en AV1 sur Mac si vous avez une puce M3

11/10/2024 à 19:15

• 16


Le SuperDrive d'Apple est en voie de disparition 🆕

11/10/2024 à 17:22

• 61


Intel lance les Core Ultra 200S pour succéder à la 14e génération de Core

11/10/2024 à 16:00

• 8


Apple ouvre son plus grand labo de R&D en Chine

11/10/2024 à 15:08

• 21


Amazon obligé d'arrêter de vendre les Fire TV Stick dans certains pays à cause de Nokia

11/10/2024 à 12:25


Tesla présente le Robotaxi et promet son arrivée sur les routes américaines d’ici deux ou trois ans

11/10/2024 à 10:20

• 65


Donald Trump veut interdire les voitures autonomes

11/10/2024 à 10:09

• 98


Test d'un adaptateur microSD pour MacBook : pourquoi c’est un support de stockage à utiliser avec précaution

11/10/2024 à 08:45

• 15


Orange lance son offre 5G+ Home

11/10/2024 à 07:51


Asahi Linux lance des jeux AAA sur les Mac Apple Silicon, parfois mieux que macOS

10/10/2024 à 20:00

• 25


Global Police Summit : les conférences spécialisées d'Apple pour les forces de l'ordre

10/10/2024 à 18:30

• 7


Une faille dans CUPS, la technologie d'impression d'Apple, très dangereuse dans de nombreux UNIX… sauf ceux d'Apple

10/10/2024 à 16:15

• 23


Découvrez les détails de la connexion Wi-Fi de votre iPhone grâce à ce raccourci iOS

10/10/2024 à 15:00


Adobe prépare un outil gratuit pour améliorer la traçabilité des fichiers

10/10/2024 à 12:30

• 4


L’application X plante sur Mac

10/10/2024 à 11:19

• 26