2016-06-21 1 views

Répondre

4

Je pense que vous confondez ce qu'est réellement Bitcode. Bitcode peut être utilisé avec des cadres statiques et des bibliothèques dynamiques.

De l'Apple docs:

code binaire est une représentation intermédiaire d'un programme compilé. Les applications que vous téléchargez sur iTunes Connect et qui contiennent du code binaire seront compilées et reliées sur l'App Store. Y compris le bitcode permettra à Apple de ré-optimiser votre application binaire à l'avenir sans avoir besoin de soumettre une nouvelle version de votre application au magasin.

La plupart des bibliothèques et des frameworks sont "gros", ce qui signifie qu'ils contiennent des binaires supplémentaires pour supporter toutes les architectures. Cela signifie qu'un framework iOS peut supporter armv7, armv7s et i386 (toutes les architectures de périphériques et le simulateur).

La construction d'une bibliothèque avec bitcode lui permet de prendre en charge App Thinning. Cela signifie que seuls les fichiers binaires appropriés à l'architecture sur laquelle l'application sera exécutée sont téléchargés depuis l'App Store. De plus, comme le mentionne Crazyrems dans les commentaires, cela optimisera l'installation de l'application et la taille du téléchargement, car l'appareil ne téléchargera que les ressources nécessaires pour que l'application s'exécute sur cette architecture/appareil spécifique.

Je ne vais pas entrer dans les détails sur LLVM IR, mais je vous recommande la lecture de ces articles pour référence:

+1

Les installations seront optimisé aussi. Seule une partie de l'application conçue pour l'architecture spécifique du téléphone sera téléchargée lors de l'installation, ce qui signifie que les applications seront plus petites. – Crazyrems

+0

@Crazyrems merci, ajouté que comme une mise à jour de ma réponse. – JAL

+0

Satisfait de la réponse. Merci @JAL – iMHitesh