Ich versuche, eine Anwendung im App Store einzureichen, und wenn es möglich ist, muss ich den Speicher ein wenig verringern. Ich habe eine Methode ausprobiert, die ich unten beschreiben werde, um meine App leichter zu machen, aber ohne Glück.
Ich habe diese Schritte ausgeführt, um zu sehen, was diese große Größe verursacht hat
.ipa
aus und ändern Sie die Erweiterung in .zip
Ich hatte .png
Dateien mit 680 Kb
(wenn ich solche mit 32 kb ungefähr hinzugefügt habe), löschte ich sie und reduzierte die Größe der Anwendung um 2 MB . Es gibt andere Dateien, die Speicherplatz benötigen, aber nicht wesentlich, außer einer ausführbaren Datei, die ungefähr 90% der .ipa's
-Größe einnimmt.
Ist es möglich, die Größe ausführbarer Dateien zu verringern? Wenn nicht, dann kannst du mir einen Hinweis geben, wo ich schauen sollte, um meine App hinsichtlich der Größe leichter zu machen.
PS Ich verwende Bibliotheken von Drittanbietern wie Vuforia SDK und Bibliotheken auf GitHUB
Wie kann ich die Größe dieser ausführbaren Datei reduzieren
?
Sie können die Größe der ausführbaren Datei in Ihrem erstellten App-Bundle nicht reduzieren. Das ist dein Code! Die einzige Möglichkeit, seine Größe zu reduzieren, sind:
Code ausschneiden. Natürlich können Sie das nicht tun, weil Sie die Funktionalität ausschließen würden, die Ihre App funktioniert.
Entfernen Sie ein Architektursegment. Sie sollten das nicht tun, weil Sie für alle möglichen Architekturen bauen wollen.
Nachdem ich das gesagt habe ... Ich habe nie eine ausführbare Datei innerhalb des App-Bundles irgendwo in der Nähe dieser großen generiert. Vielleicht messen / bauen Sie falsch:
Stellen Sie sicher, dass Sie archivieren. Nichts anderes als ein Archiv ist es wert, gemessen zu werden.
Stellen Sie sicher, dass Sie beim Archivieren einen Release-Build erstellen.
Stellen Sie sicher, dass Ihre Release-Build-Einstellungen die vollständige Compiler-Optimierung (kleinste, schnellste) enthalten.
Vorschlag zum Reduzieren der Binärgröße von Reduzieren der Größe meiner App :
Compiler-Optionen
Setzen der Build-Einstellung Optimization Level auf die schnellsten, kleinsten [-Os]; und die Einstellung Strip Debug Symbole während Copy Build auf Ja (COPY_PHASE_STRIP = YES) kann die Größe Ihrer kompilierten Binärdatei drastisch verringern. Diese Einstellungen sind die Standardeinstellung für die "Release" -Konfiguration in Xcode-Projekten.
Vermögenswerte sind fast immer der Hauptverantwortliche für große Apps.
Wenn Sie Ihre App archivieren und die IPA exportieren, können Sie sie als .zip konvertieren, indem Sie die Erweiterung ändern und dann den Inhalt des Pakets entpacken und anschauen.
Wenn Sie nach Dateigröße sortieren, sehen Sie, welche Dateien am größten sind. Beachten Sie, dass Bilder mit Transparenz größer sind.
Einige weitere Einblicke: Ссылка
Wenn Sie wirklich besorgt über die Interna der ausführbaren Datei sind, erstellen Sie sie mit einer Link-Map. Das zeigt Größen nach Segmenten und nach Symbol.
z.B.
%Vor%[...]
%Vor%[...]
Ich stieß auf eine Artikel im Internet, der den Prozess in den folgenden 9 Punkten erklärt:
Stellen Sie sicher, dass Sie die maximale Stufe des iOS-Stripping erreicht haben, z Weitere Informationen zum iOS-Strippen finden Sie in diesem Beitrag.
Durch die Aktivierung von Bitcode wird die Größe Ihres Over-the-Air-Downloads erhöht. In unserem Fall war es der Unterschied zwischen 130 und 70MB. Wenn Sie wünschen Um den Bitcode auszuschalten, können Sie dies in Ihrem xcode-Projekt tun oder mit einem Post-Build-Attribut wie dieses.
Das Launch-Bild in Ihrem xcode-Projekt ist NICHT optimiert. Während dem Rennen etwas durch einen Komprimierungsalgorithmus funktioniert nicht, weil Unity dekomprimiert und speichert Bilder ohne viel Kompression um Startzeit verringern, funktioniert es für die Startbilder, die sind generiert von Untiy nach der Projektgenerierung. Alle Ihre Bilder werden angezeigt durch einen verlustfreien Komprimierungsalgorithmus, um ein paar MB zu sparen (10 in unserem Fall).
Wenn dies nicht genug ist, ist es an der Zeit, sich Ihre Asset-Logs anzusehen. Führen Sie Ihren Build in Unity aus und öffnen Sie das Editor-Protokoll lächerlich kleines Symbol neben Ihren Konsoleneinstellungen. In unserem Fall, Sie sind bereits optimiert. Mit einem 111MB in unkomprimierten Assets, wir konnten eine Over-the-Air-Größe von 70 MB erreichen. Übergehen Sie jedes Asset und ändern Sie die Auflösung auf die niedrigst mögliche Qualität, die Sie haben Benutzer werden es nicht bemerken. Die beste Komprimierungseinstellung ist PVRTC für iOS. Wenn Sie schon dabei sind, sehen Sie sich den Resource Checker an, um einen großen Überblick zu erhalten Texturen im Speicher. Auch hier wird die Auflösung reduziert Verringern Sie die Buildgröße sowie den Speicherverbrauch. Bitte benutzen Sie auch Sprite Atlanten - Sie werden die Wunder sehen, die das tut!
Suchen Sie nach nicht verwendeten Bibliotheken in Ihrem Projekt oder nach Bibliotheken viel zu viel Platz für ihre Funktionalität zu verwenden. Befehle wie df und ls -lh könnte hier nützlich sein, führen Sie diese in Ihren Projektdateien aus und sehen Sie, welche Dateien wirklich hervorstechen und in der Größe reduziert werden müssen. Beachten Sie, dass diese einzelnen Bibliotheken nicht unbedingt haben Derselbe Build-Effekt wie Ihre Texturen - im Allgemeinen werden diese kompiliert für mehrere Architekturen, und wenn eine Bibliothek 20 MB ist, ist es im Allgemeinen betrifft nur Ihre Build-Größe um etwa 6 MB, aufgrund der Tatsache, dass Bibliotheken enthalten häufig Architekturunterstützung für i386, arm64 und arm7 in derselben Bibliothek
Überprüfen Sie, ob / Plugins / Android nicht in Ihrem iOS-Projekt enthalten ist. Siehe diesen Beitrag für weitere Informationen.
Stellen Sie sicher, dass in Ihren Build-Einstellungen keine unbenutzten Szenen vorhanden sind.
Erstellen Sie Ihr Projekt und überprüfen Sie das Archiv, bevor Sie es abschicken iTunes verbinden. Sie können dies tun, indem Sie auf "Produkt - & gt; Archiv", Lassen Sie es archivieren, und wenn es fertig ist, "Window - & gt; Organizer "zu pop up diese Schnittstelle und finde den Build-Ort.
Unter "Products / Applications / game.app" Führen Sie den Befehl mv aus, um Ihre .app in ein durchsuchbares Verzeichnis.In diesem Verzeichnis können Sie Sehen Sie viel von dem, was wir getan haben, und finden Sie auch Inspiration für mehr Dinge die du tun kannst.
Nun, es gibt viel mehr Dinge, die zu einem größeren Ergebnis führen könnten erwartete Build-Größe, und ich bin sicher, es gibt viel mehr Dinge, die Sie können zu tun, darunter auch.
Wenn Sie zu dieser Liste hinzufügen oder weitere Fragen haben möchten (normalerweise beantworte ich gerne Fragen), hinterlassen Sie einen Kommentar mit Ihrem spezifischen Anwendungsfall und ich werde versuchen, Ihnen zu helfen!
>Alles Gute,
Pim