Я думаю, что это может сводиться к вопросу о том, можете ли вы программно записать в файл кэша UIWebView (то есть, находится ли кэш UIWebView в песочнице вашего приложения) - если вы не можете, то игра окончена. Если вы можете , то возникает вопрос, что произойдет после того, как вы поместите предварительно заполненный файл кэша на место, и будет ли UIWebView «одурачен», думая, что он уже загружен и кэшировал ваш контент HTML5.
Если вы используете iPhone Simulator для тестирования своего приложения, посмотрите ~/Library/Application Support/iPhone Simulator/5.0/Applications
(замените "5.0" на вашу версию iOS, если это необходимо). Вы должны увидеть длинную строку шестнадцатеричных цифр для каждого приложения, которое вы скомпилировали в симуляторе; найдите тот, который соответствует вашему приложению, а затем найдите в подпапке Library/Caches/[your app's identifier]
файл с именем Cache.db
.
Это может быть местом, где UIWebView хранит данные своего кэша. Если это не так, игра окончена, и ответ на ваш вопрос «нет, это невозможно». Если это , то есть , где UIWebView кэширует данные, тогда может иметь возможность заполнить этот Cache.db
файл в симуляторе, захватить файл, сохранить его в комплекте вашего приложения и затем написать кеш в соответствующее место, когда пришло время предварительно заполнить кеш.
Во всяком случае, это линия атаки, которую я бы использовал, чтобы определить, возможно ли это - я вполне уверен, что ответ будет "нет, невозможно", если не выяснится, что кеш UIWebView делает находится в песочнице вашего приложения, доступна для записи вами, и вы можете обмануть UIWebView, заменив его файл кэша.