Сделали сайт, сделали манифест для 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';
});
}
});