Skip to content

Latest commit

 

History

History
 
 

ios-app-thinning

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

ios-app-thinning

All about App Thinning

The store and operating system optimize the installation of iOS, tvOS, and watchOS apps by tailoring app delivery to the capabilities of the user’s particular device, with minimal footprint

App Thinning is the combination of slicing, bitcode, and on-demand resources

Slicing (iOS, tvOS)

Slicing is the process of creating and delivering variants of the app bundle for different target devices. A variant contains only the executable architecture and resources that are needed for the target device. When the user installs an app, a variant for the user’s device is downloaded and installed.

Xcode

Xcode 7

Settings

No setting

iOS

iOS 9

Sliced apps are supported on devices running 9.0 and later; otherwise, the store delivers universal apps to customers.

watchOS

watchOS 2

tvOS

tvOS

Testing on Simulator/Device

Xcode builds a variant of the app for the selected device type, improving the debug build time and allowing you to test variants locally.

Enterprise Distribution

Works for App Store only

Bitcode

Including bitcode will allow Apple to re-optimize your app binary in the future without the need to submit a new version of your app to the store.

Xcode

Xcode 7

Settings

Build Settings -> Enable Bitcode (ENABLE_BITCODE)

iOS

iOS 9, Default, Optional

watchOS

watchOS 2, Required

tvOS

tvOS, Required

Testing on Simulator/Device

No effect

Enterprise Distribution

Works for App Store only Should disable Bitcode If Bitcode is enabled, your binary will contain both object code and Bitcode

On-Demand Resources (iOS, tvOS)

On-demand resources are resources—such as images and sounds—that you can tag with keywords and request in groups, by tag

Xcode

Xcode 7

Settings

Build Settings -> Enable On Demand Resources (ENABLE_ON_DEMAND_RESOURCES) Use by tagging resources

You identify on-demand resources during development by assigning them one or more tags.

iOS

iOS 9 Deployment target must be iOS 9

watchOS

watchOS 2

tvOS

tvOS

Testing on Simulator/Device

Embed in the app bundle

Enterprise Distribution

You can host on-demand resources for your app on any compliant web server. Apps distributed through the App Store can host on-demand resources only during development and testing. Enterprise apps using in-house distribution can host during development and distribution.

Reference