App-Größe auf dem iPhone reduzieren: App Thinning und On-Demand Resources

How to Reduce App Size on iPhone with App Thinning and On-Demand Resources

App Thinning und On-Demand Resources sind Apples offizielle Methoden, um die App-Größe auf dem iPhone zu reduzieren. App Thinning liefert automatisch nur die Assets, die ein bestimmtes Gerät benötigt, während On-Demand Resources (ODR) große Inhalte erst bei Bedarf nachladen. Zusammen ermöglichen diese Techniken deutlich kleinere Downloads und eine bessere erste Nutzererfahrung.

Key Takeaways

  • App Thinning besteht aus drei Komponenten: Slicing, Bitcode und On-Demand Resources.
  • Slicing sorgt dafür, dass der App Store automatisch gerätespezifische Bundles erstellt, ohne Entwickleraufwand beim Download.
  • On-Demand Resources erlauben es, Assets mit Tags zu versehen und erst dann zu laden, wenn der Nutzer sie wirklich braucht.
  • Mit iOS 18 hat Apple die ODR-Limits deutlich angehoben, was besonders für inhaltsreiche Apps und Spiele relevant ist.
  • Nicht alle Apps profitieren gleich stark: Content-heavy Apps wie Spiele oder Lern-Apps gewinnen am meisten.
  • Die App-Größe lässt sich in Xcode vor dem Upload mit dem App Size Report messen.
  • Der App Store hat weiterhin Größenlimits für den zellularen Download, auch wenn diese in den letzten Jahren gestiegen sind.
  • Slicing und ODR lassen sich kombinieren und ergänzen sich gegenseitig.
  • Häufige Fehler sind fehlende Asset-Tags, zu große Core-Bundles und nicht optimierte Bildformate.
  • Alternativen wie Content Delivery Networks (CDNs) oder dynamisches Laden per API ergänzen ODR, ersetzen es aber nicht vollständig.

Was ist App Thinning auf dem iPhone?

App Thinning ist Apples Sammelbegriff für drei Techniken, die gemeinsam die Installationsgröße einer App auf das gerätespezifisch notwendige Minimum reduzieren. Der App Store übernimmt dabei einen Großteil der Arbeit automatisch, sobald die App korrekt vorbereitet wurde.

Was ist App Thinning auf dem iPhone?
App-Größe auf dem iPhone reduzieren: App Thinning und On-Demand Resources 4

Die drei Bestandteile von App Thinning:

  • Slicing: Der App Store analysiert das Gerät des Nutzers und liefert nur die passenden Assets (zum Beispiel 2x- statt 3x-Grafiken für ältere Modelle). Entwickler müssen Assets im Asset Catalog strukturieren, den Rest erledigt Apple.
  • Bitcode: Apples Compiler-Zwischenformat, das nachträgliche Optimierungen im App Store ermöglicht. Für iOS-Apps ist Bitcode seit Xcode 14 nicht mehr verpflichtend, wird aber weiterhin unterstützt.
  • On-Demand Resources: Assets werden mit Tags versehen und erst dann vom Apple-Server geladen, wenn die App sie tatsächlich benötigt.

Wichtig: App Thinning gilt nur für Apps, die über den App Store verteilt werden. Direkt installierte Enterprise-Apps oder TestFlight-Builds verhalten sich anders.

Wie funktionieren On-Demand Resources für iPhone-Apps?

On-Demand Resources (ODR) sind ein Mechanismus, bei dem bestimmte App-Inhalte nicht im initialen Download enthalten sind, sondern von Apples Servern nachgeladen werden, sobald die App sie anfordert. Das Betriebssystem verwaltet den lokalen Cache und löscht ODR-Assets automatisch, wenn der Speicherplatz knapp wird.

Der Ablauf in der Praxis:

  1. Entwickler weisen Assets im Asset Catalog oder im Dateisystem einem Tag zu (zum Beispiel „level-5“ oder „tutorial-videos“).
  2. Die App fordert diesen Tag zur Laufzeit an: NSBundleResourceRequest(tags: ["level-5"]).
  3. iOS lädt die Assets herunter und stellt sie der App zur Verfügung.
  4. Nicht mehr benötigte Tags werden vom System bereinigt, wenn der Speicher es erfordert.

Prefetch-Tags können vorab im Xcode-Target definiert werden, damit bestimmte Assets direkt nach der Installation geladen werden, noch bevor der Nutzer sie braucht. Das verbessert die Erfahrung beim ersten Start erheblich.

Mit iOS 18 hat Apple die Limits für gehostete ODR-Assets deutlich angehoben. Frühere Beschränkungen für initiale und aktiv genutzte ODR-Pakete wurden für iOS 18 und neuere Versionen entfernt, was besonders für Spiele mit umfangreichen Level-Daten oder Mediatheken relevant ist.

Was ist der Unterschied zwischen App Thinning und On-Demand Resources?

App Thinning ist der Oberbegriff, On-Demand Resources sind eine Unterkomponente davon. Der entscheidende Unterschied liegt im Zeitpunkt des Ladens.

Merkmal App Thinning (Slicing) On-Demand Resources
Zeitpunkt Beim Download aus dem App Store Zur Laufzeit, bei Bedarf
Steuerung Automatisch durch App Store Manuell per API im Code
Hosting App Store Apple-Server (ODR-Hosting)
Typischer Anwendungsfall Grafiken, Binaries Level-Daten, Videos, Audiodateien
Entwickleraufwand Gering (Asset Catalog) Mittel (Tags + API-Aufrufe)

Kurz gesagt: Slicing reduziert, was beim ersten Download ankommt. ODR reduziert, was überhaupt im Core-Bundle enthalten ist.

Kann App Thinning die App-Größe automatisch reduzieren?

Ja, Slicing läuft vollständig automatisch, sobald Assets korrekt im Asset Catalog organisiert sind. Der App Store erstellt beim Upload automatisch gerätespezifische Varianten des App-Bundles.

Kann App Thinning die App-Größe automatisch reduzieren?
App-Größe auf dem iPhone reduzieren: App Thinning und On-Demand Resources 5

Entwickler müssen jedoch aktiv dafür sorgen, dass:

  • Grafiken als 1x, 2x und 3x im Asset Catalog hinterlegt sind (nicht als lose Dateien im Bundle).
  • Keine unnötigen Ressourcen außerhalb des Asset Catalogs liegen.
  • Das Xcode-Projekt korrekt für App Thinning konfiguriert ist.

Häufiger Fehler: Entwickler legen Bilder direkt in den App-Bundle-Ordner statt in den Asset Catalog. Diese Dateien werden nicht durch Slicing bereinigt und landen auf jedem Gerät, unabhängig von der Auflösung.

Wie viel Speicher kann man mit App Thinning sparen?

Wie viel Speicher kann man mit App Thinning sparen?
App-Größe auf dem iPhone reduzieren: App Thinning und On-Demand Resources 6

Der Einspareffekt hängt stark vom App-Typ ab. Für einfache Utility-Apps mit wenigen Assets ist der Unterschied minimal. Für Spiele oder Medien-Apps mit umfangreichen Grafiken und Audio kann die Einsparung erheblich sein.

Praktische Richtwerte (geschätzt, basierend auf Entwickler-Berichten):

  • Einfache Apps: 5-15 % kleinerer Download durch Slicing.
  • Grafiklastige Apps: 20-40 % Reduktion möglich, wenn 3x-Assets nicht auf 1x-Geräten landen.
  • Spiele mit ODR: Der initiale Download kann auf einen Bruchteil der Gesamtgröße reduziert werden, wenn Level-Daten per ODR nachgeladen werden.

Das Ziel laut Apples Entwicklerempfehlungen ist ein möglichst kleiner Core-Bundle kombiniert mit aggressiv getaggten ODR-Assets.

Unterstützen alle iPhone-Apps App Thinning?

Nicht automatisch. App Thinning durch Slicing greift für alle Apps, die korrekt über den App Store verteilt werden und Assets im Asset Catalog nutzen. ODR muss dagegen aktiv implementiert werden.

Apps, die App Thinning nicht oder kaum nutzen:

  • Apps mit Assets als lose Dateien statt im Asset Catalog.
  • Apps, die kein ODR implementiert haben, obwohl sie große Mediendateien enthalten.
  • Ältere Apps, die seit Jahren nicht aktualisiert wurden.

Für ältere iPhone-Modelle: App Thinning funktioniert auch auf älteren Geräten. Der App Store liefert dann die passende Asset-Variante für die jeweilige Bildschirmauflösung. ODR setzt iOS 9 oder neuer voraus, was heute praktisch kein Kompatibilitätsproblem mehr darstellt.

Wie aktiviert man On-Demand Resources in Xcode?

On-Demand Resources werden in Xcode auf Projektebene aktiviert und dann über den Asset Catalog oder den Finder mit Tags versehen. Die Implementierung folgt einem klaren Muster.

Schritt-für-Schritt-Anleitung:

  1. ODR aktivieren: In den Target-Einstellungen unter „Build Settings“ den Schalter „Enable On Demand Resources“ auf „Yes“ setzen.
  2. Assets taggen: Im Asset Catalog ein Asset auswählen, im Attributes Inspector unter „On Demand Resource Tags“ einen Tag-Namen eingeben (zum Beispiel „chapter-2“).
  3. Prefetch-Tags definieren: Unter „On Demand Resources“ im Target-Editor Tags als „Prefetched“ markieren, die direkt nach der Installation geladen werden sollen.
  4. Assets im Code anfordern: Mit NSBundleResourceRequest den gewünschten Tag anfordern und den Completion-Handler abwarten, bevor auf die Assets zugegriffen wird.
  5. Ressourcen freigeben: Nach Nutzung endAccessingResources() aufrufen, damit iOS den Cache verwalten kann.

Tipp: Tags sollten logisch nach Nutzungskontext benannt werden, nicht nach Dateitypen. „onboarding“, „level-3“ oder „premium-content“ sind sinnvoller als „images“ oder „audio“.

Wie testet man die App-Größenreduktion vor dem Upload in den App Store?

In Xcode lässt sich die tatsächliche Größe eines App-Bundles vor dem Upload messen. Der App Size Report zeigt die geschätzte Download- und Installationsgröße für verschiedene Geräteklassen.

Vorgehensweise:

  1. In Xcode ein Archive erstellen (Product > Archive).
  2. Im Organizer das Archiv auswählen und „Distribute App“ wählen.
  3. Die Option „Export“ oder „App Thinning“ aktivieren und einen lokalen Export durchführen.
  4. Im exportierten Ordner die Datei App Thinning Size Report.txt öffnen.

Der Report listet die Größen für jede unterstützte Geräteklasse auf, getrennt nach Download- und Installationsgröße. Das ist die verlässlichste Methode, um den Effekt von Slicing und ODR zu messen, bevor die App live geht.

Was ist das App-Größenlimit im App Store?

Der App Store erlaubt zellulare Downloads bis zu einer bestimmten Größe, bevor er den Nutzer warnt oder den Download auf WLAN beschränkt. Apple hat dieses Limit in den letzten Jahren mehrfach angehoben.

Aktuelle Richtwerte (Stand 2026, basierend auf Apples Entwicklerdokumentation):

  • Zellularer Download: Apps über 200 MB erfordern eine Nutzerbestätigung auf älteren iOS-Versionen; ab iOS 13 wurde das Limit auf App-Ebene flexibler gehandhabt.
  • Maximale App-Größe: Das technische Limit für ein einzelnes App-Bundle liegt bei 4 GB.
  • ODR-Assets: Mit iOS 18 wurden frühere Limits für initiale und aktiv genutzte ODR-Pakete entfernt, was deutlich größere Inhalte ermöglicht.

Praktische Empfehlung: Den zellularen Download unter 200 MB halten, um Konversionsabbrüche zu vermeiden. Alles darüber hinaus gehört in ODR-Tags.

Warum ist meine App nach App Thinning noch immer groß?

Eine häufige Ursache ist, dass der Core-Bundle selbst zu viele Assets enthält, die eigentlich in ODR ausgelagert werden sollten. App Thinning durch Slicing reduziert nur gerätespezifische Duplikate, nicht den gesamten Inhalt.

Typische Ursachen für eine weiterhin große App:

  • Große Videodateien im Bundle statt als ODR-Asset.
  • Unkomprimierte Audiodateien (WAV statt AAC/MP3).
  • Nicht optimierte Bilder (PNG statt HEIC oder WebP wo möglich).
  • Drittanbieter-SDKs mit eingebetteten Ressourcen.
  • Assets außerhalb des Asset Catalogs, die nicht durch Slicing erfasst werden.

Diagnose: Den Linkmap-Report in Xcode aktivieren und mit einem Tool wie „Emerge Tools“ oder dem eingebauten Build-Report analysieren, welche Dateien den größten Anteil am Bundle ausmachen.

Lassen sich App Thinning und On-Demand Resources kombinieren?

Ja, und das ist ausdrücklich die empfohlene Strategie. Slicing und ODR ergänzen sich: Slicing sorgt dafür, dass das Core-Bundle nur geräterelevante Assets enthält, während ODR alles auslagert, was nicht beim ersten Start benötigt wird.

Die optimale Architektur folgt diesem Prinzip:

  • Core-Bundle: Nur das, was für den ersten Start und die Kernfunktion nötig ist. Möglichst klein halten.
  • Prefetch-ODR: Assets, die kurz nach dem Start gebraucht werden (zum Beispiel Onboarding-Videos).
  • On-Demand-ODR: Alles andere, geordnet nach Nutzungswahrscheinlichkeit und -zeitpunkt.

Dieses Modell wird von Apple als „small core bundle + aggressively tagged ODR“ beschrieben und ist besonders für Spiele, Lern-Apps und Medien-Apps relevant.

Welche Alternativen gibt es zu App Thinning für die Größenreduktion?

App Thinning und ODR sind Apples native Lösung. Daneben gibt es ergänzende Ansätze, die sich kombinieren lassen.

  • Dynamisches Laden per API: Inhalte wie Texte, Konfigurationen oder kleine Medien werden von einem eigenen Server geladen statt im Bundle verpackt. Flexibler als ODR, erfordert aber eigene Infrastruktur und Internetverbindung.
  • Komprimierungsoptimierung: Bilder als HEIC statt PNG, Audio als AAC statt WAV. Kein Architekturaufwand, aber sofortige Wirkung.
  • Modulare App-Architektur: Features werden als separate Frameworks oder Swift Packages strukturiert, was das Entfernen ungenutzter Codepfade erleichtert.
  • Dead Code Elimination: Linker-Einstellungen in Xcode aktivieren, um nicht genutzten Code aus dem Binary zu entfernen.

Wähle ODR wenn: Die App große, klar abgrenzbare Inhaltspakete hat (Level, Kapitel, Mediatheken), die nicht immer gebraucht werden. Wähle API-basiertes Laden, wenn Inhalte häufig aktualisiert werden und keine Offline-Verfügbarkeit benötigt wird.

FAQ

Muss ich als Entwickler etwas tun, damit App Thinning funktioniert? Für Slicing reicht es, Assets korrekt im Asset Catalog zu organisieren. Der App Store übernimmt den Rest automatisch. On-Demand Resources erfordern aktive Implementierung im Code.

Funktioniert App Thinning auch für macOS-Apps? Slicing ist primär für iOS, iPadOS, tvOS und watchOS konzipiert. Für macOS-Apps gelten andere Mechanismen.

Kann ODR auch für Code-Dateien genutzt werden? Nein. ODR ist ausschließlich für Ressourcen (Assets, Mediendateien, Daten) gedacht, nicht für ausführbaren Code.

Was passiert, wenn ein Nutzer offline ist und eine ODR-Anfrage gestellt wird? Die App muss diesen Fall im Code behandeln. NSBundleResourceRequest liefert einen Fehler, wenn keine Verbindung besteht. Gute Implementierungen zeigen dem Nutzer eine klare Fehlermeldung.

Wie lange speichert iOS ODR-Assets auf dem Gerät? iOS verwaltet den ODR-Cache automatisch und löscht Assets, wenn der Speicher knapp wird. Apps können Assets nicht dauerhaft auf dem Gerät erzwingen.

Zählen ODR-Assets zur angezeigten App-Größe in den iPhone-Einstellungen? Ja, aktuell heruntergeladene ODR-Assets erscheinen in der Speicherübersicht der App. Nicht geladene Tags sind nicht sichtbar.

Kann App Thinning den App-Store-Download unter 100 MB bringen? Das hängt vom App-Typ ab. Für einfache Apps ist das realistisch. Für inhaltsreiche Apps ist eine Kombination aus Slicing und ODR nötig, um den initialen Download klein zu halten.

Welche Dateitypen eignen sich besonders gut für ODR? Große Mediendateien wie Videos (.mp4), Audiodateien (.m4a), umfangreiche 3D-Modelle (.usdz) und Level-Daten sind ideale Kandidaten.

Beeinflusst App Thinning die App Store Connect-Einreichung? Nein. Der Upload erfolgt wie gewohnt. Der App Store erstellt die gethinten Varianten nach dem Upload automatisch.

Muss ich ODR-Assets separat hochladen? Nein. ODR-Assets werden zusammen mit dem App-Bundle in App Store Connect hochgeladen. Apple hostet sie dann automatisch auf seinen Servern.

Fazit

Die Kombination aus App Thinning und On-Demand Resources ist der wirksamste Weg, um die App-Größe auf dem iPhone zu reduzieren, ohne Funktionen zu opfern. Slicing läuft weitgehend automatisch, sobald Assets korrekt im Asset Catalog strukturiert sind. ODR erfordert mehr Planung, bietet aber das größte Einsparpotenzial für inhaltsreiche Apps.

Konkrete nächste Schritte:

  1. Den App Size Report in Xcode erstellen und analysieren, welche Geräteklassen die größten Bundles erhalten.
  2. Assets außerhalb des Asset Catalogs identifizieren und migrieren.
  3. Große Mediendateien, Level-Daten oder Onboarding-Inhalte mit ODR-Tags versehen.
  4. Prefetch-Tags für Assets definieren, die beim ersten Start benötigt werden.
  5. Nach jeder Änderung erneut einen App Size Report erstellen, um den Fortschritt zu messen.

Mit iOS 18 sind die technischen Limits für ODR deutlich gestiegen. Das macht 2026 einen guten Zeitpunkt, bestehende Apps zu überprüfen und die Strategie auf „kleiner Core-Bundle, aggressives ODR“ umzustellen.

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*