App Slicing + Support for old iOS versions?

Hi all, I would like to know is it possible to apply app slicing for iOS 9+ and also support devices with iOS version older than 9.0 (without app slicing)?

Recently, we want to update our app and apply app slicing to it. But after a quick test, we have encountered a problem. According to documents, to use app slicing in Unity, the “use on demand resources” option should be turned on. Turning on such option will lock “target minimum iOS version” to 9.0, making it impossible to run the app on devices with older iOS versions. But some of our users are still using iOS 8, or maybe even 7 (which is not shown on App Analytics), and we don’t want to lose them.
Is there anyway to also support such devices? Should we just make another build without ODR?

Also, according to Apple’s documents, ODR and app slicing are 2 separated techniques to reduce app size. I wonder why app slicing depends on ODR in Unity.

Any help would be appreciated. :slight_smile:

Bump. Also edited the post slightly to make it clearer, i.e. we don’t need app slicing on older iOS version, we just want an “universal app” as stated here: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html

Application binary slicing works out of the box if device is iOS9.0+. It’s not anyhow tied to the OS version your app supports.
If you want asset slicing (different assets being installed with your app for different devices) then ODR is good choice and in such case you need to set min OS version to 9.0 or higher.

1 Like

Thanks for the reply! You reminded me that “Slicing” on Apple’s document is not the same as “App Slicing” on Unity’s document! (Unity - Manual: App thinning)
We got confused between them. That’s why we thought Unity’s app slicing should provide a solution to also support older iOS versions.
I think the problem is solved now and we just need to discuss internally whether we should move on to iOS 9+. Thanks a lot.