Для гибридного приложения под iOS на Obj-C нужно кеширование ресурсов. Приложение поставляется с набором зашитых в bundle ресурсов, и по мере своей работы подкачивает и сохраняет в library/caches.
Вот готовый класс прокси:
https://github.com/marcuswestin/WebViewProxyТам же демо апп, на его основе необходимо сделать следующую логику:
- прокси перехватывает запросы по URL по заранее заданному списку регэкспов. URLы вида [host][static_path][version][local/path/to/resource.ext]. Если URL не подходит под набор условий - он просто дальше отдается в WebView, обработка заканчивается.
- проверяет, есть ли ресурс [version][local/path/to/resource.ext] в app bundle. Если есть - отдает в ответе.
- проверяет, есть ли ресурс [local/path/to/resource.ext] в кэше и его версия равна [version], если есть - отдает в ответе.
- иначе скачивает ресурс, сохраняет его в кэш вместе с версией, стирая все предыдущие кэшированные версии этого ресурса, и отдает в ответе.
В кэше хранится только одна версия ресурса, все остальные должны подчищаться. Список regex для URL будет периодически обновляться, а именно он определяет какие версии ресурсов будут попадать под кэширование (и, соответственно, какие уже не нужны и подлежат удалению). Адекватная обработка и передача HTTP ответов и ошибок дальше в WebView.
Оплата ЯД/картой/нал в Москве. Срок - желательно сегодня.