Почему PWA на основе Workbox выдает ошибку при запуске с домашнего экрана на iOS 12? - PullRequest
0 голосов
/ 03 октября 2018

Я могу запустить приложение в браузере после очистки данных, но если я добавлю его на домашний экран и попытаюсь перезапустить оттуда, я получу простую страницу со следующей ошибкой:

Safari cannot open the page. The error was: "FetchEvent.respondWith received an error: Returned response is null."

Последующие запуски в браузере также приводят к этой ошибке.Я должен снова «очистить данные» в браузере, чтобы он снова заработал.

Я использую Workbox v3.6.2 (последний, на момент написания), и мой iPhone работает под управлением iOS 12.

Это выглядит подозрительно, но это немного над моей головой (ну, в любом случае, обходной путь).Мне хочется снова попробовать понизиться до iOS11.X и / или установить Technology Preview 59.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Похоже, есть несколько возможных причин этой ошибки - у меня это было дважды;

Случай 1: Требуется добавить сертификат ROOT и установить его в качестве доверенного на устройстве.

мои условия;

  1. Я получал ту же ошибку на iPhone 5s с iOS 12 при загрузке pwapp с локального сервера.
  2. Использование самозаверяющих сертификатов намашина разработки для сервера.
  3. Не используется Workbox.

  4. Не проблема при загрузке pwapp с сервера, размещенного у провайдера, с сертификатом ssl изiOS признала полномочия по сертификации.

Оказалось, что это было связано с сертификатами безопасности - (не использует Mac, поэтому не может отладить до уровня проблем сети / безопасности на устройстве / directдля полной диагностики).

Исправлено было до;

  1. создайте самоподписанный корневой сертификат и используйте его для моего сервера.
  2. конвертируйте (копию) файла корневого сертификата .pem в .der
  3. доступ .derчерез safari на устройстве / добавить профиль, установить в качестве доверенного.

(Правильный способ - сделать корневые, промежуточные и серверные сертификаты, использовать серверный сертификат и предоставить корневой сертификат через URL или отправить его по электронной почте на адреспочтовый клиент на устройстве.)

полезные ссылки;

см. Получение сертификата в общем-> О программе-> Настройки доверия сертификата

Событие2: Оказывается, вы должны получить доступ к pwapp с иконки на главном экране хотя бы один раз, пока у вас есть доступ к серверу.

Для воспроизведения;(сетевое подключение)

  1. удалить значок с главного экрана и очистить историю сафари и данные веб-сайта
  2. посетить URL pwapp
  3. добавить на главный экран, но не запускать
  4. отключить сеть
  5. попытаться запустить с домашнего экрана => получить ошибку
  6. включить сеть, запустить pwapp с домашнего экрана => ok.
  7. закрыть pwapp, выключить сеть, запустить pwapp с домашнего экрана => хорошо.

    Так выглядит ошибка iOS / Safari / Webkit

0 голосов
/ 12 октября 2018

У меня такие же проблемы.На iOS 12.0.0 работают нормально, но после обновления до версии 12.0.1 у меня такая же ошибка, как и у вас.Я тестировал это же приложение, но на двух разных устройствах (iPhone) с двумя разными версиями iOS.

...