【问题标题】:PWA Application is initialized every time after going background in iOSPWA 应用程序每次在 iOS 中进入后台后都会被初始化
【发布时间】:2018-09-10 05:24:33
【问题描述】:

我现在正在测试 PWA 应用程序。

在 Android 中,它运行良好。 即使在进入后台后,PWA 应用仍会保持状态,用户可以继续他们的体验。

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

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

【问题讨论】:

    标签: ios mobile-safari progressive-web-apps


    【解决方案1】:

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

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

    As mentioned in this article,iOS 仍然不会在会话之间保留 PWA 应用程序的状态 :( 由于对服务工作者的第一次官方支持仅在一周前(2018 年 3 月下旬)在 iOS 中出现,我们可以期待看到更多功能,例如在未来保留状态。

    我们现在运气不好。

    您还可以在链接文章中查看“PWA 可以在 Android 上而不是在 iOS 上做什么”部分,其中介绍了 android 和 iOS 之间在 PWA 方面的当前差距。

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

    【讨论】:

    • 如果我们想在应用正常启动时重启应用(点击应用图标),但在从后台返回时保持状态,有什么方法可以区分这两个动作吗?
    • 该问题已在 ios 版本 12.2 beta 2 中得到修复
    • 我想知道这是否与我在stackoverflow.com/questions/58274674/… 注意到的问题相同。几秒钟不活动后,应用会重新加载初始页面。
    • 这对我来说在 android 上似乎也是一个问题:/ 有什么建议吗?如果我在 android 8-9 上切换应用程序,应用程序会重置并登陆登录页面
    【解决方案2】:

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

    【讨论】:

    • 我在一周前遇到了这个答案,当时是这种情况,现在我已经更新到 iOS 12.2,应用程序的状态仍然存在。每次打开时都会看到启动页面,但它是您在我的非常基本的项目中留下的地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    相关资源
    最近更新 更多