2015-09-23 8 views
6

Vor iOS 9 betrug unsere IPA-Größe ungefähr 6 MB. Nach dem Archivieren und Exportieren unserer IPA über Xcode 7 stieg unsere IPA auf etwa 17 MB. Bei weiteren Untersuchungen fanden wir heraus, dass die Aktivierung der Option "Bitcode" in den Exporteinstellungen den großen Dateigrößensprung verursacht hat.Aktivieren von Bitcode für iOS 9 erhöht IPA-Größe 3x, ist dies die Größe im App Store?

Meine Frage ist: Wenn wir diese Option aktivieren, wird unsere IPA-Größe 17 MB im Laden sein? Oder macht Apple etwas mit dem Paket, um es ungefähr gleich groß wie vorher zu machen (6MB).

Es gibt nicht viele Informationen über Bitcode im Moment, und ich würde gerne informiert werden, bevor Sie in den Laden gehen. 6 MB und 17 MB sind genug, um betroffen zu sein.

+0

ist nicht die Idee app Größe auf den Geräten zu reduzieren, nicht die App Store? – trojanfoe

+1

Nun, Ihre App enthält den Bitcode mit dieser Option, so dass es sinnvoll ist, die Größe zu vergrößern. Ich würde annehmen, dass der Bitcode nicht in die Datei aufgenommen wird, die Benutzer aus dem App Store herunterladen, aber das kann ich nicht bestätigen. – dan

+3

Das möchte ich wissen. Ich werde nicht mit Bitcode veröffentlichen, wenn es bedeutet, dass meine Benutzer dort sitzen und eine App herunterladen müssen, die 3x von dem ist, was es sein sollte. Ich würde wahrscheinlich Downloads verlieren. Kleiner ist besser. Es ist mir egal, wie viel Speicherplatz auf den Servern von Apple benötigt wird. Ursache schrauben sie. – FrostRocket

Antwort

12

Bitcode ist eine Zwischendarstellung eines kompilierten Programms. Durch die Aktivierung wird die Build-Größe (ipa) auf der Entwicklerfront erhöht.

iOS kann auf verschiedenen CPUs laufen (i386, x86_64, arm, arm64 usw.). Wenn Sie ein Programm auf einem iOS-Setup ausführen möchten, sollte das Programm Objektcode für jede Plattform enthalten. Wenn Sie ein Programm ausführen, liest das Betriebssystem das 'Inhaltsverzeichnis' und sucht nach einem Segment, das der Betriebssystem-CPU entspricht. Wenn Sie beispielsweise das Betriebssystem auf x86_64 ausführen, lädt das Betriebssystem Objektcode für x86_64 in einen Speicher und führt das Programm aus.

Derzeit enthalten alle Apps im AppStore Objektcode für Arm- und Arm64-CPUs. Darüber hinaus enthalten proprietäre Bibliotheken oder Frameworks von Drittanbietern Objektcode für i386, x86_64, arm und arm64, damit Sie sie zum Testen der App auf dem Gerät und/oder Simulator verwenden können.

Wie funktioniert der Bitcode? Wenn Sie eine App (einschließlich Bitcode) senden, kompiliert Apples "BlackBox" diese für jede unterstützte Plattform neu und löscht jeglichen "nutzlosen" Objektcode, so dass AppStore eine Kopie der App für jede CPU besitzt. Wenn der Endbenutzer die App installieren möchte, installiert er nur die Version für einen bestimmten Prozessor, ohne irgendwelche unbenutzten Sachen.

Bitcode kann bis zu 50% Speicherplatz pro Programm sparen.

Refere: http://lowlevelbits.org/bitcode-demystified/