PWA在iOS上standalone模式为啥不生效?
我做了一个PWA应用,安卓上加到桌面后能正常以standalone模式全屏打开,但iOS Safari加到主屏幕后还是带浏览器地址栏。我已经在manifest.json里设置了"display": "standalone",也加了apple相关的meta标签,比如apple-mobile-web-app-capable,但就是没效果。
这是我的关键配置:
{
"name": "My App",
"display": "standalone",
"start_url": "/",
"scope": "/"
}
还有HTML里的meta:
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
iOS 16.4测试的,到底还缺啥?是不是现在iOS对PWA限制更严了?
检查这几项:
第一,确保页面通过HTTPS访问,本地调试localhost也算。
第二,必须注册Service Worker,随便注册个空的都行:
第三,HTML里要有manifest链接:
第四,加个apple-touch-icon,iOS加桌面时需要:
改完之后要把原来主屏幕的图标删掉重新加,iOS会缓存之前的配置。我之前也踩过这个坑,折腾半天发现是没注册SW,苹果这玩意儿确实比安卓严格多了。