@Offereight

Почему PWA-приложение работает на Андроид, но отказывается работать на iOS?

Сделали сайт, сделали манифест для PWA. На Андроид все хорошо (в браузере на Windows 11 тоже). PWA ставится, без проблем и автоматически предлагает его установить и по кнопке.

На iPhone, iPad и прочих iOS ни в какую, подскажите пожалуйста, где ошибка?
manifest.json
{
  "name": "EL",
  "short_name": "EL",
  "description": "Магазин косметики - EL",
  "icons": [
    {
      "src": "https://el-store.ru/wp-content/uploads/2023/11/logo.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "https://el-store.ru/wp-content/uploads/2023/11/logo.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "maskable"
    },
    {
      "src": "https://el-store.ru/wp-content/uploads/2023/11/logo.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "https://el-store.ru/wp-content/uploads/2023/11/logo.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ],
  "screenshots": [
    {
      "src": "https://el-store.ru/wp-content/uploads/2023/11/web.png",
      "type": "image/png"
    }
  ],
  "background_color": "#e8e4d3",
  "theme_color": "#843535",
  "display": "standalone",
  "dir": "ltr",
  "orientation": "portrait",
  "start_url": ".",
  "categories": [
    "shopping"
  ],
  "scope": "/",
  "shortcuts": [
    {
      "name": "EL",
      "url": "/",
      "description": "Магазин косметики - EL",
      "icons": [
        {
          "src": "https://el-store.ru/wp-content/uploads/2023/11/logo.png",
          "sizes": "192x192"
        }
      ]
    }
  ]
}


Код JS в футере

var deferredPrompt;

        window.addEventListener('beforeinstallprompt', event => {
          event.preventDefault();
          deferredPrompt = event;
          document.getElementById('installButton').style.display = 'block';
        });

      jQuery("body").on('click', '.installButton', () => {

        if (deferredPrompt) {
          deferredPrompt.prompt();
          deferredPrompt.userChoice.then(choiceResult => {
            if (choiceResult.outcome === 'accepted') {
              console.log('PWA установлена');
            }
            deferredPrompt = null;
            document.getElementById('installButton').style.display = 'none';
          });
        }
        });
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы