On-Demand Resources Update

I spent hours to read documentation and watched wwdc videos about on-demand resources and looked through tons of on-demand resources topics on stackoverflow and so, but I still don't understand how Apple stores on-demand resources for app. Does Apple store on-demand resources for each build or it has shared storage for an app?

My assumptions is that one shared storage is used per app (bundle id) but I can't find any proof of that.

For example:

We have app(v1.0) with tag "someImage" (green image). We publish new app to Appstore (v2.0) with the same tag but with the new image(black image). App(v2.0) will use new image (black) (according to wwdc 2016 video)

1)Will App(v1.0) be using new image or it will be using old one? 2) Will App(v1.0) be working with tags & resources that were added to App(V2.0)

Accepted Reply

Everything is tied together by the build -- the assets downloaded always reflect the assets originally packed and uploaded as part of that build. Older builds will never see assets provided by newer builds.

Replies

On-demand resources are packed with the app when you submit to the App Store. When customers use your build, they receive the ODR resources that you packed as part of that build, not the resources for a different build of the app.

Does it mean that old build will use old resource with the same tag?

Everything is tied together by the build -- the assets downloaded always reflect the assets originally packed and uploaded as part of that build. Older builds will never see assets provided by newer builds.