Извините, у меня пока нет ответа, но у меня возникла та же проблема с моим веб-приложением, и я потратил на него часы.Поэтому я хотел бы опубликовать все свои выводы здесь.
Шаги, чтобы проверить, может ли веб-приложение работать в автономном режиме в iOS 12
- Посетите веб-сайт с Safari (iOS 12 или 12.1)
- закрыть вкладку веб-сайта в Safari
- нажать кнопку «Домой» на iPhone, чтобы установить Safari на фон
- нажать кнопку питания iPhone, чтобы выключить экран
- нажмите кнопку питания iPhone еще раз, чтобы разбудить телефон
- отключите все сетевое подключение из центра управления iPhone (как Wi-Fi, так и сотовой связи)
- откройте Safari, посетите веб-сайт еще раз-> он должен работать в автономном режиме.
iOS 12 против iOS 11.3
Похоже, эта проблема появилась с iOS 12. Мой вебприложение (https://viewsbyme.com) отлично работало в автономном режиме на iOS 11.3, в которой мобильная версия Safari впервые представила Service Worker, но получила ответы от iOS 12 и iOS 12.1 в автономном режиме:
Safari не может открытьстраница. Ошибка была: «FetchEvent.respondWithполучено сообщение об ошибке: TypeError: Интернет-соединение, кажется, находится в автономном режиме. ».
Не уверен, связано ли это с этим отчетом об ошибке (он говорит« RESOLVED FIXED », но на самом деле еще нет, если вы прокрутите внизв конец ветки):
https://bugs.webkit.org/show_bug.cgi?id=190269
Примеры работающих и неработающих веб-приложений
В качестве примеров эти 2 PWAмогут работать в автономном режиме в iOS 12:
https://simpleoffline.website
https://www.currency -calc.com
И эти 2 PWA не могут работать в автономном режимев iOS 12 (но они отлично работают в Chrome на других платформах):
https://2048 -opera-pwa.surge.sh
https://voice-memos.appspot.com
Кажется очевидным, сравнив сценарии Service Worker между этими PWA и выяснив, что заставляет их работать, а не работать.Но я до сих пор не выяснил дельту.