javascriptioscordovahybrid-mobile-appon-demand-resources

Download Apple hosted on-demand tagged resources via Javascript


I'm digging around Apple documentation about on-demand resources but I can't find this information..

Is it possible to fetch On-Demand Resources (eg. image, Javascript bundle) from a WKWebView via Javascript?

My intent is to publish some (big) HTML+JS games on Apple servers as On-Demand tagged Resources and then fetch them via Javascript XHR calls or through a Cordova/Phonegap/Ionic plugin.

In this way:

  1. We would not affect the App final bundle size including all the games

  2. Apple would be able to review the games (since it's not externally "injected code" - that is against their guidelines).


In my specific case, I would use the Cordova plugin cordova-plugin-filetransfer to download the tagged on-demand resources and cordova-plugin-file to load and display the downloaded game into the webview.


This is what we need to achieve due to business constraints. Is it feasible?


Solution

    1. It looks like it is possible to download a zip file, uncompress it and load it into the Cordova webview using a Cordova only solution (using cordova-plugin-file).
    2. Apple only lets you access those On-Demand Resources using their Native API, they don't have exposed those via an external API.

    So, in order to load ODRs in a Cordova App, we would need to create a custom plugin that calls the Native API that takes care of loading the On-Demand Resources (see NSBundleResourceRequest).

    Reply found in the Reddit Flutter community:

    https://www.reddit.com/r/FlutterDev/comments/ejmf3a/apples_odr_network_via_flutter/

    enter image description here