IOS9 Backward Resource Compatibility (ODR)

On Demand Resources (iOS)

On-demand resources are resources, such as images and sounds, that you can tag with keywords and request in groups by tag. The App Store hosts resources on Apple's servers and manages downloads for you. On-demand resources provide faster downloads and smaller application sizes, improving initial startup. For example, a game application can divide resources into game levels and request the next level of resources only when the application expects the user to move to that level. Similarly, an application can only request in-app purchase resources when a user purchases an in-app purchase.

ODR will be useful for some applications, but what is the backward compatibility mechanism of this new feature. To be honest, it’s very rare that an application supports only the latest version of iOS. It has always been no more than 2 versions.

My theory is that perhaps the older versions simply ignore the entire ODR and allow users to download the full application package from the store.

Is there anyone who has additional information that could clarify this?

+5
source share
2 answers

See this note in Apple docs on Thinning apps :

Note. For iOS applications, cut applications are supported in the latest version of iTunes and on devices running iOS 9.0 and later; otherwise, the App Store provides universal applications for customers.

The document is not 100% understandable how this affects ODR, but it hints very strongly that:

  • When an iOS 9 client downloads your application from the App Store, iOS will download only the base application (cut appropriately for the device), as well as the resources that you included in the initial installation tags in Xcode.
  • When an iOS 8 or earlier client receives your application, iOS will ...

    enter image description here

    ... as well as all processor-specific binaries, all notes necessary for the size of the device, etc.

+10
source

Unfortunately, it seems that ODR is not supported for deployment prior to iOS 9: when downloading to the App Store, you will receive the following error:

ERROR ITMS-90510: "Invalid Info.plist value. The value specified for the MinimumOSVersion key" 8.0 "is less than the required value" 9.0 "for an application that contains resources on demand.

Thus, it seems possible that Apple will allow this in the future by introducing it into the App Store, so please copy Radars to request it.

+5
source

All Articles