What is iOS App Thinning and How It Saves You Storage

One of the perennial challenges for mobile device users is managing storage space. High-resolution photos, videos, and increasingly complex applications all compete for a finite amount of storage. To combat this, Apple developed a sophisticated delivery mechanism called App Thinning. This largely invisible process works behind the scenes in the App Store to ensure that when you download an application, you are only getting the parts of it that are absolutely necessary for your specific device. This results in smaller, faster downloads and more free space on your iPhone or iPad.

What is iOS App Thinning?

App Thinning is a collection of technologies and processes used by the App Store to create and deliver customized versions of an application that are optimized for each user’s particular device. Instead of downloading a single, massive “universal” app that contains code and assets for every possible Apple device (iPhone, iPad, different screen resolutions, different processor architectures), the App Store intelligently delivers a tailored package containing only what your device needs. This optimization process is a collaboration between the app developer and the App Store’s backend infrastructure.

The Problem: The ‘One-Size-Fits-All’ App Bundle

Before App Thinning, when a developer submitted an app to the App Store, they would create a single binary file. This universal binary had to include:

  • Executable Code for Multiple Architectures: Code compiled for both older 32-bit processors (like in the iPhone 5) and modern 64-bit processors.
  • Image Assets for All Resolutions: High-resolution “@3x” images for Retina iPhones, “@2x” images for older Retina devices, and “@1x” images for non-Retina devices. An iPhone SE user would still have to download the huge assets designed for an iPhone 14 Pro Max.
  • iPad and iPhone specific resources: Universal apps that ran on both iPhone and iPad had to include the UI layouts, images, and resources for both device families.
  • Other Resources: Data files, graphics resources (like Metal shaders), and other assets that might be specific to certain device capabilities.

This resulted in bloated app downloads, wasted bandwidth, and unnecessary consumption of precious on-device storage.

The Three Components of App Thinning

App Thinning is not a single technology but an umbrella term for three distinct mechanisms: Slicing, Bitcode, and On-Demand Resources.

1. Slicing

Slicing is the most important and automatic part of App Thinning. When a developer uploads their app archive to the App Store, they are uploading the universal version. The App Store’s servers then perform the “slicing” process:

  1. The store analyzes the universal app and all of its assets.
  2. It creates multiple, different “app variants” based on device characteristics. For example, it will create a variant for a 64-bit iPhone with a @3x Retina display, another for an older iPad with a @2x display, and so on.
  3. Each variant contains only the executable architecture and the assets that are appropriate for that specific device configuration.
  4. When you download or update an app on your iPhone, the App Store identifies your device model and delivers only that specific, pre-sliced variant.

Developers enable slicing by using Asset Catalogs in Xcode to tag their images and resources with device-specific information (e.g., this image is for 4.7-inch iPhones, this one is for iPad). Slicing handles the rest automatically.

2. Bitcode

Bitcode is an intermediate representation of a compiled program. When a developer enables Bitcode in their project, they are not uploading a fully compiled machine-code executable to the App Store. Instead, they upload this intermediate Bitcode version.

This provides a powerful, future-proofing advantage: Apple can re-optimize the app’s binary on their servers without the developer needing to resubmit the app.

For example, if Apple releases a new iPhone with a new processor that has a new instruction set, the App Store can automatically recompile the Bitcode into a new executable that is perfectly optimized for that new chip. This allows Apple to apply new compiler optimizations and improvements to existing apps on the store. Bitcode is a key part of the Slicing process, as it allows the App Store to generate the most efficient executable slice for each processor architecture.

3. On-Demand Resources (ODR)

On-Demand Resources are best suited for apps and games with a large amount of content that is not needed immediately upon first launch. ODR allows developers to tag certain assets (like specific game levels, tutorials, or feature-specific resources) to be hosted on the App Store separately from the initial download.

The workflow is as follows:

  • The user downloads a small initial version of the app, allowing them to get started quickly.
  • As the user progresses through the app (e.g., reaches Level 2 of a game), the app can request that the necessary resources for that level be downloaded from the App Store in the background.
  • Once the user is finished with that content, the app can tell the system to purge those resources, freeing up space automatically.

This is extremely useful for games, where a full install might be many gigabytes, but a player only needs access to one level or area at a time.

Benefits of App Thinning

Benefit How It’s Achieved Primary Mechanism
Reduced App Size Users only download the assets and code relevant to their device. Slicing
Faster Downloads Smaller app sizes lead to quicker download and installation times. Slicing & ODR
Future-Proofing Apps can be re-optimized for new hardware without developer intervention. Bitcode
Improved User Experience Users can start using an app faster with a smaller initial download. On-Demand Resources (ODR)

Developers can find more information in Apple’s official documentation on Reducing Your App’s Size.

Frequently Asked Questions

As a user, do I need to do anything to enable App Thinning?

No. App Thinning is a completely automatic process that happens on the App Store. As long as you are downloading apps from the official App Store, you are benefiting from this technology without any required action.

Does App Thinning affect app backups?

Yes, in a positive way. When you back up your device to iCloud, the backup does not include the app binaries themselves, as they can always be redownloaded from the App Store. Because the on-device apps are smaller thanks to thinning, full device restores from iCloud can also be faster, as there is less user data tied to these smaller app installations that needs to be backed up and restored.

Why is an app’s size on the App Store page sometimes different from its size in my iPhone’s storage?

The size listed on the App Store page is often the “universal” size, or a representative size, before thinning. The actual installed size on your device, which you can see under Settings > General > iPhone Storage, is usually smaller. This is a direct result of App Thinning, where you have received a sliced variant that is smaller than the full, universal package.

Is App Thinning available for Android apps?

Yes, the Google Play Store has a similar technology called App Bundles. Developers upload an App Bundle, and the Play Store uses a system called Dynamic Delivery to generate and serve optimized APKs for each user’s device configuration, based on factors like screen density, CPU architecture, and language. The core concept is the same as App Thinning: deliver a smaller, tailored app to the user.