App Slicing
Also known as: app slicing ios, variant app store, ios app slicing
App Slicing is the App Store delivery feature that builds and ships a device-specific variant of an app, including only the executable code and resources (textures, images) a given device actually needs, so each download and install is smaller than the universal binary.
- App Slicing is one of three App Thinning techniques, alongside On-Demand Resources and bitcode (now deprecated).
- Only resources stored in asset catalogs can be sliced; loose bundle files ship to every device.
- Each device downloads a variant tailored to its architecture, screen scale, and GPU/memory class.
How App Slicing works
When you upload an app to App Store Connect, Apple's App Thinning pipeline splits the build into per-device variants. App Slicing is the part of App Thinning that selects the right executable architecture, image scale (@2x vs @3x), and Metal texture set for the requesting device, then delivers only that slice.
Slicing is driven by asset catalogs (`.xcassets`) and tags like device traits, GPU family, and memory class. A resource placed outside an asset catalog (a loose file in the bundle) cannot be sliced and ships to every device, so catalog-managing your art is what makes slicing effective.
Slicing vs On-Demand Resources and bitcode
App Slicing handles device-targeted resources at install time. On-Demand Resources (ODR) complement it by hosting tagged resources on Apple's servers and downloading them only when the app requests them, which keeps the initial install even smaller. Bitcode-based recompilation was deprecated, so modern thinning relies on slicing and ODR rather than server-side rebuilds.
For developers, the practical win is that a user on an older, lower-memory iPhone never downloads the high-resolution textures meant for the latest iPad Pro, and vice versa.