iOS 12 Safari不支持某些PWA(Progressive Web App)的离线功能。 Safari似乎没有正确地缓存这些Web应用程序中的资源。
例如,以下PWA无法在iOS 12和12.1中脱机工作,但它们在Android或Windows上的Chrome中都能完美运行:
谷歌用来演示服务工作者的Air Horner PWA: Air Horner
这两个: 2048 puzzle Voice Memos
重现步骤(100%可重现):
这一直困扰我很长一段时间,因为我自己的网络应用程序也有类似的问题 - 在Android / Windows上的Chrome中运行良好,但只在iOS 12 Safari上失败。知道iOS 12 Safari有什么特别之处吗?非常感谢你!
我有同样的问题,使用没有Workbox的服务工作者解决了问题 - 应用程序启动没有互联网连接,但有些东西搞砸了 - 它不起作用。
我遇到了完全相同的问题。
我意识到,当激活服务工作者时,所有缓存都已正确设置,但如果您使用iOS任务管理器关闭safari(不仅减少它),则在返回PWA时会完全删除所有缓存的文件。
确实离线工作在主屏幕上。但是,缓存不会在新版本上更新,并且主屏幕链接停止工作。要刷新缓存,必须从Safari访问Web应用程序,然后再次运行。这实际上是次优的,并且有望得到修复。
我的iPhone 6S在iOS 12.1.2中解决了该问题。