Xcode 14 devait alléger les poids des apps. C’est finalement l’inverse qui est constaté, et ce n’était pas vraiment prévu par Apple. Certes, toutes les apps ne sont pas concernées par cet embonpoint, mais la prise de poids peut être de 68% supérieure à la taille initiale de l’app (avant re-compilation sous iOS 16). Les développeurs de Emerge Tools (une suite d’outils logiciels pour le dev mobile) sont parvenus à expliquer ce phénomène dans un long billet de blog.

Xcode

Tout découlerait de l’arrêt du Bitcode, ce fichier d’instruction pour la compilation de la version finale de l’app. Ce fichier participait à l’optimisation du code et permettait de mieux adapter l’app au support cible. Problème, sans le Bitcode, des métadonnées (binary symbols) utilisées durant le développement – mais totalement inutiles dans la version finale de l’app – se retrouvent in fine compilées avec le reste du code, ce qui engendre la prise de poids de l’app.

Certaines apps, comme celles de Nike, gagnent ainsi plus de 100 Mo de données dans sa version finale compilée pour iOS 16 avec Xcode 14, mais le gain est en moyenne de plusieurs Mo à plusieurs dizaines de Mo, ce qui n’est pas du tout négligeable dès lors qu’il s’agit d’une app mobile. Même les apps d’Apple ne sont pas épargnées : Shazam prend 2 Mo de plus (ok, ce n’est pas énorme…). Heureusement, les petits gars d’Emerge Tools donnent quelques conseils pour virer les binary symbols de la version finale de l’app, juste avant la compil.