On-demand resources are app contents that are hosted on the App Store and are separate from the related app bundle that you download. They enable smaller app bundle, faster downloads, and richer app content.
There are limits on the amount of storage used by on-demand resources for when you upload your app to App Store Connect or while the app is running.
Note: macOS and watchOS don't support on-demand resources.
On-demand resource sizes
The table below outlines the variant size limits for each deployment target after app thinning. For example, the total size limit of each asset pack is 8GB after thinning for apps available on devices running iOS 18 and later.
Item
Size limit description
Earlier than iOS 18 or earlier than iPadOS 18
iOS 18 or iPadOS 18, or later
App bundle
The size of the thinned app bundle downloaded to the device.
2 GB
4 GB
Asset pack
The size of each thinned asset pack. Asset packs are generated by Xcode when your app is built. One tag may result in multiple asset packs.
512 MB
8 GB
Asset pack count
The total number of asset packs generated by Xcode.
1000
1000
Initial install and prefetched tags
The total size of the thinned asset packs marked with initial install and prefetched tags.
4 GB
No limit
In use on-demand resources
The total size of the resources with the tags in use by the app at any one time. A tag is in use as long as at least one NSBundleResourceRequest is accessing it.
2 GB
No limit
Hosted on-demand resources
The total size of the thinned asset packs hosted on the App Store.
20 GB
70 GB
Item
Size limit description
Earlier than tvOS 18
tvOS 18 or later
App bundle
The size of the thinned app bundle downloaded to the device.
4 GB
4 GB
Asset pack
The size of each thinned asset pack. Asset packs are generated by Xcode when your app is built. One tag may result in multiple asset packs.
512 MB
512 MB
Asset pack count
The total number of asset packs generated by Xcode.
1000
1000
Initial install and prefetched tags
The total size of the thinned asset packs marked with initial install and prefetched tags.
4 GB
4 GB
In use on-demand resources
The total size of the resources with the tags in use by the app at any one time. A tag is in use as long as at least one NSBundleResourceRequest is accessing it.
2 GB
No limit
Hosted on-demand resources
The total size of the thinned asset packs hosted on the App Store.
20 GB
20 GB
Item
Size limit description
Earlier than visionOS 2
visionOS 2 or later
App bundle
The size of the thinned app bundle downloaded to the device.
4 GB
4 GB
Asset pack
The size of each thinned asset pack. Asset packs are generated by Xcode when your app is built. One tag may result in multiple asset packs.
512 MB
8 GB
Asset pack count
The total number of asset packs generated by Xcode.
1000
1000
Initial install and prefetched tags
The total size of the thinned asset packs marked with initial install and prefetched tags.
4 GB
No limit
In use on-demand resources
The total size of the resources with the tags in use by the app at any one time. A tag is in use as long as at least one NSBundleResourceRequest is accessing it.
2 GB
No limit
Hosted on-demand resources
The total size of the thinned asset packs hosted on the App Store.