Преодоление ограничения в 50 МБ для кэша PWA для iOS
Мы создаем прогрессивное веб-приложение для iOS-устройств и знаем об ограничении кэша в 50 МБ, наложенного веб-браузером Safari. Как мы можем справиться с этим ограничением, если мы знаем, что работнику службы нашего приложения, возможно, придется кэшировать данные размером более 50 МБ, если мы включим все статические ресурсы, видео, изображения и т. Д. Наше первое предпочтение - поддерживать приложение в автономном режиме даже после кэширования. заполнен, и если это невозможно, то, по крайней мере, предотвратите разрыв приложения, если пользователь работает в автономном режиме.
Было бы хорошо, если бы вы дали общий ответ, который мы можем реализовать и в других PWA.
0 ответов
В наши дни вы можете хранить более 50 МБ на мобильном устройстве Safari с помощью IndexedDB: https://love2dev.com/blog/what-is-the-service-worker-cache-storage-limit/
Если размер свободного дискового пространства превышает 1 ГБ, ограничение по умолчанию составляет 500 МБ; в противном случае это половина свободного места на диске.
Убедитесь сами, используя этот инструмент: https://demo.agektmr.com/storage/
По крайней мере, в iOS 13 и IndexedDB, и cacheStorage должны иметь единую квоту в 1 ГБ. См. Следующее изменение WebKit: https://bugs.webkit.org/show_bug.cgi?id=198133