iOS15下基于Workbox的PWA离线偶现「Safari无法打开页面」问题咨询
iOS端PWA离线偶发原生错误页故障排查求助
我们开发了一款支持离线使用的PWA应用,核心缓存方案采用IndexedDB与Workbox 6.2.0实现数据、静态资源与API请求的缓存,离线状态下通过service worker为用户返回对应缓存内容。
故障现象
- 安卓端全场景运行正常,仅iOS端离线使用时偶现「Safari无法打开页面」的原生系统错误页,无法正常触发离线逻辑
- iOS 14系统下复现故障后,重启设备即可恢复正常,原有缓存数据不会丢失
- iOS 15系统下复现故障后无需重启设备:常规操作下关闭所有Safari标签页并重启Safari即可恢复PWA离线访问能力,部分场景需要重新联网才能恢复,少数情况下静置一段时间后会自动恢复正常
- 故障触发后,通过数据线连接设备使用Safari或Chrome DevTools调试时无任何报错日志,完全无法检测到已注册的service worker、缓存存储或IndexedDB数据库实例
已排除的已知问题
- 已完成离线兜底页面配置,用户访问未缓存的资源时会正常展示兜底页,与公开的「iOS 12.2下PWA卡在离线页」问题表现不符
- 本项目PWA重新联网后即可100%恢复正常,后续离线使用也无异常,与其他同类PWA离线故障表现不一致
- 已排除存储空间不足影响:测试设备剩余存储空间为6GB,远高于应用缓存占用需求
- 确认与iOS14已知webkit bug #225083无关:该bug官方说明已在iOS15中修复,但本项目iOS15设备仍可复现该故障
- 已排除importScripts加载Workbox的已知bug影响:该问题官方已完成修复,本项目通过
importScripts从Google CDN加载Workbox依赖
求助内容
目前无明确排查方向,无法定位问题根因也无法给出修复方案,咨询是否有开发者遇到过同类问题,或是可以提供可行的诊断数据采集方案。
内容的提问来源于stack exchange,提问作者Yogster
相关产品推荐
相关产品推荐

