Проблема была просто в том, что я не указывал длину содержимого в заголовках. Таким образом, серверная часть должна быть:
if environ['REQUEST_METHOD'] == 'GET':
status = '200 OK'
headers = [('Content-type', 'image/png')]
img=open("./static/uploads/"+"imageName", "rb").read()
start_response(status,[
('Content-type', 'image/png'),
('Content-Length', str(len(img))),
])
return img
Я попытался написать простой тест с этим манифестом:
CACHE MANIFEST
# 2010-06-20:v4
http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
http://peach.blender.org/wp-content/uploads/big_big_buck_bunny.jpg
http://apod.nasa.gov/apod/image/9712/orionfull_jcc_big.jpg
http://www.thelivingmoon.com/43ancients/04images/Titan/titan5km_huygens_big.jpg
http://upload.yeuamnhac.com/musica/dan_lily/dancontent/rh108poster1big.jpg
Этому кешу потребуется 11,4 МБ памяти.
Когда я открываю страницу, включающую этот файл манифеста, он говорит что-то вроде этого: «Этот веб-сайт требует использования до 25 МБ хранилища, вы хотите увеличить локальное хранилище?».
Я думаю, что понял, как работает iOS:
Надеюсь, что это полезно для вас.
Также связался с Apple по этому поводу.
Прочтите мой пост об этом здесь: http://techblog.viewbook.com/2011/02/mobile-safari-offline-application-cache-limit/
Публикация StackOverflow здесь: Максимальный размер кэша автономных приложений iPad / iPhone
Что еще на странице?
Эти ребята ограничивают количество своих страниц, либо разделяя страницы, либо заменяя некоторые из кешированных изображений ссылками:
http://www.mobilenoter.com/blog/post/2010/04/06/ Removing-size-limit-of-page.aspx
Не знаю, почему все забывают о старых добрых веб-приложениях (помните этих парней? Они были раньше, чем родные приложения!), Но они уже «готовы к работе в автономном режиме», что означает, что вам не нужно загружать кеш вашего приложения со всеми компонентами вашего приложения.
Насколько мне известно, размер веб-приложений не ограничен.