2010-05-30 2 views

Répondre

13

Un fichier exécutable plus petit est un téléchargement plus rapide à partir de l'App Store. Cependant, vous découpez non-armv7 devices.

+0

En dehors de la gamme actuelle, quels sont les périphériques qui ne sont pas armv7? – coneybeare

+4

Probablement l'iPhone, l'iPhone 3G, l'iPod Touch 1ère et 2ème génération. –

+0

@Alex Pour les personnes ayant un iPhone 3G, que se passe-t-il lorsque l'application se trouve dans l'App Store? Ils ne peuvent pas télécharger l'application ou l'application plante quand ils la lancent? – CedricSoubrie

19

À moins que votre programme nécessite OpenGLES 2.0 (qui n'est pris en charge que sur les périphériques prenant en charge armv7), vous devez compiler le fichier binaire standard (armv6/armv7). Un gros binaire est essentiellement deux (ou plus) binaires Mach-O collés ensemble, avec une seule page d'en-tête au début. Le coût de la performance est négligeable: le chargeur dynamique doit prendre une erreur de page supplémentaire pour la page d'en-tête afin de déterminer quelle architecture charger. Construire pour armv7 seulement réduira sensiblement de moitié la taille de votre exécutable, bien qu'il soit peu probable que votre exécutable soit aussi grand pour commencer. Vous pouvez utiliser les commandes "size" et "otool" sur l'hôte pour obtenir plus d'informations sur les différentes sections du binaire de votre application, par ex. "taille -arch armv6 build/Version/MyApp.app/MyApp" obtiendra la taille de différentes sections dans la version armv6 d'un binaire, "taille -arch arm7 build/Release/MyApp.app/MyApp" aura la taille de diverses sections dans la version armv7 d'un binaire, et évidemment "ls -l build/Release/MyApp.app/MyApp" obtiendra la taille réelle du fichier binaire.

Questions connexes