Many people have written a lot of articles on this. I don’t want to repeat. Just put list of link for sharing things that we should read on this topic:
Great articles introduce and explain very clearly on Cache Manifest
- http://alistapart.com/article/application-cache-is-a-douchebag
- Must read article to know fundamental of offline caching using cache manifest http://diveintohtml5.info/offline.html
Limitations of cache storage
- Good benchmark: http://suburbia.org.uk/blog/2014/01/15/124659.html
- Tool to test cache limitation: http://www.der-schepp.de/appcache-default-size/
Cache manifest on iOS
There are 2 ways that you can run the “offline web apps” on iOS.
- Web page: run via Safari browser.
- Home-screen “app”: to run on this mode, we add the current browsing URL to Home screen.
These 2 modes run in different ways and use different cache data.
As per IOS6 (all my tests have been done on iOS6.1), these are two different things :
- a website using a .manifest, accessed with mobile Safari
- a webapp on the home screen, created from the website
A website with a .manifest can use up to 50mb of cache, with an user permission asked. It can’t use more. This value can be found and cleared in settings/safari/advanced. If you try to stuff more in the cache, a
error
event will be fire and thewindow.applicationCache.status
will go IDLE.A webapp does not share the same cache than its website. Clearing the cache settings/safari/advanced won’t do anything for you home screen webapp. It will accept more than 50mb of cache without user input, but I don’t know exactly how much (I tested with 60mb with success, totally accessible offline. *edit : tried with 83mb, success) I don’t know where this data can be seen in iOS settings. I guess nowhere.