Механизм прозрачного хранения в браузерах позволяет пользователю контролировать свое устройство.
Именно поэтому вы как приложение никогда не должны (как в собственном, так и в веб-режиме) предполагать, что ваши кэшированные ресурсы кэшированы.
Если для вас абсолютно важно убедиться, что у вас есть основные ресурсы и данные сохраняются, тогда вам нужно провести какую-то проверку целостности при запуске сервисного работника. Таким образом, вы можете восстановить кэшированное состояние в случае, если приложение переходит в автономный режим.
Вам также необходимо понять, что операционная система, глядя на вашу iOS, будет очищать данные, когда это будет похоже (подумайте, когда освободится дисковое пространство)критический), который выводит вас из-под контроля. Насколько я знаю, он делает это и для нативных приложений.