PWA 应用程序在 iOS 进入后台后每次都会初始化

PWA Application is initialized every time after going background in iOS

我正在测试 PWA 应用程序。

在Android,效果不错。 即使在进入后台后,PWA 应用程序仍保持状态,用户可以继续他们的体验。

但在 iOS 中,每次 PWA 应用程序进入后台后,它都会被初始化,并且每个条件都像重新加载一样被粉碎。 用户体验终止。

如何在 iOS 中防止这种情况发生?

更新: 使用最新版本的 iOS(我用 12.4 测试过),PWA 状态被保留。感谢 Leox 和 Roshil 确认与另一个版本相同。

处理旧版本 iOS/Safari 的原始答案:

As mentioned in this article、iOS 仍然不会在会话之间保留 PWA 应用程序的状态 :( 自从一周前(2018 年 3 月下旬)首次正式支持服务工作者以来在iOS中,我们可以期待在未来看到更多的特性,比如保留状态。

我们现在运气不好。

您还可以查看链接文章中的 "What PWAs can do on Android and not on iOS" 部分,了解 android 和 iOS 在 PWA 方面的当前差距。

作为解决方法,您可以在 IndexDB 中保持应用程序的状态(当前页面、用户填充的数据、滚动开始(如果可能)),当应用程序重新打开时,您可以读取它来恢复它。它适用于几乎大多数用例。

现在,您可以将 iOS 更新到 12.2 beta 5,以保持 PWA 应用程序从最小化状态恢复后的状态。感谢苹果!