На диске хранения NSURLCache в iOS 5? - PullRequest
3 голосов
/ 26 октября 2011

Я пытался отобразить кэшированное содержимое php / javascript в UIWebview некоторое время, но пока не получилось. Он работает нормально со статическим контентом, но как только я пытаюсь загрузить динамический контент, используя javascript, происходит сбой.

Я пробовал несколько возможных решений: (ASIHTTPRequest, AFCache ...), но ни одно из них, похоже, не работает для меня. Я всегда заканчиваю тем, что бьюсь об стену снова и снова, кажется, что это не простой способ сделать это.

Вчера я немного поиграл с симулятором, когда обнаружил файл с именем Cache.db, расположенный по адресу: $ (HOME_DIRECTORY) / Library / Caches / (app_bundle_id) / (схема здесь: https://gist.github.com/1305158)

Я думаю, что они восстановили кэш-память на диске в iOS5, но я не могу найти способ его использования. Каждый раз, когда я пытаюсь это сделать, он просто отображает html-файлы (не загружаются файлы javascript или изображения, на которые он ссылается), независимо от политики кэширования, которую я использую. Тем не менее, файлы JavaScript и изображения должным образом кэшируются, так как я могу видеть их при запросе файла базы данных.

Кто-нибудь выяснил, как воспользоваться этой новой функцией? Кто-нибудь знает, как ссылаться на эти файлы js, хранящиеся в кэше?

Спасибо

1 Ответ

2 голосов
/ 11 апреля 2012

Поскольку iOS 5, NSURLCache сохраняет файлы в директории /Library/Caches как Cache.db, все зависит от вашего Cache Control в ваших заголовках, установите ваш Cache Control с помощью php:

header('Cache-Control: public');

Подробнее здесь .

...