Есть ли способ запросить содержимое кеша приложения HTML5?
Я пишу приложение для iOS, которое использует много кэшированного веб-контента. Перед загрузкой данной страницы, когда приложение находится в автономном режиме, я хотел бы проверить, существует ли страница в кеше. Если этого не произойдет, я уведомлю пользователя о том, что он должен быть в сети, чтобы увидеть этот контент; если это произойдет, я пойду вперед и загрузить его.
Теперь в iOS есть собственная система кеширования URL-адресов, и я изначально просто предполагал, что смогу проверить содержимое кеша таким образом:
if ([[NSURLCache sharedURLCache] cachedResponseForRequest:myRequest] != nil) {
// go ahead and load the page
}
else {
// notify the user that the content isn't available
}
Я такой глупый. Кажется, что кеш iOS и кеш HTML5 не связаны: -cachedResponseForRequest: возвращает nil для любого запроса, даже когда я вижу, что URL-адрес находится в кеше приложения HTML5 (с помощью веб-отладчика Safari).
Итак, есть ли способ, которым я могу запросить содержимое кеша приложения HTML5? Не имеет значения, использует ли ответ код Objective-C или Javascript, поскольку я всегда могу просто выполнить соответствующий JS из цели-C.