Я попробовал компрессор YUI прежде, но он дает мне сообщение об ошибке.
я предлагаю использовать JSMIN для уменьшения JavaScript:
Я заставил это работать, используя файл .manifest в UIWebView. Я обнаружил трюк на форумах разработчиков Apple.
вы должны предоставить правильный MIME-тип для файла манифеста: он должен быть типа "text/cache-manifest" - если это что-то другое, то ваши файлы не будут кэшироваться.
вы можете использовать веб-сниффер по адресу http://web-sniffer.net/, чтобы просмотреть заголовки, возвращаемые вашим сервером.
Если вы используете файлы .htaccess на своем веб-сервере, добавьте следующую строку в файл .htaccess:
AddType text/cache-manifest .manifest
Обязательно очистите кеш браузера после внесения этого изменения, чтобы увидеть эффект.
ХТН Отметьте
редактирование: это поддерживается только в iOS 4.0 и более поздних версиях. Вам нужно будет реализовать собственный механизм кэширования для iOS 2.x и 3.x :-(
Вы можете использовать параметр cachePolicy в NSURLRequest.
request = [NSURLRequest requestWithURL:[NSURL URLWithString:reqString] cachePolicy:NSURLRequestReturnCacheDataDontLoad timeoutInterval: 10.0];
задокументировано здесь .
Вы пытались создать настраиваемый объект NSURLCache и использовать setSharedURLCache:
UiWebView
не может (или не будет) использовать HTML5 AppCache. Они просто нет. Может быть, в iPhone OS 4.0.
Но что вы можете сделать, это привлечь все файлы самостоятельно с сетевыми звонками (или просто у них в вашем пакете приложения) и загрузите веб-просмотр с локальным URL-адресом, указывающим на свой локальный HTML-файл, который может иметь относительные URL для локальных ресурсы.
Нет суперпростых «Это просто работает», однако, это произошло.