ios - 如何在 iOS 中保存 PWA 状态

标签 ios progressive-web-apps

我意识到 iOS 目前并不完全支持渐进式 Web 应用程序,但在支持 Service Workers 和 Web 应用程序 list 标准之前,我希望应用程序能够在相同状态下关闭和重新打开。我应该提到,目前我打开的应用程序没有导航栏,因此在这方面它确实感觉像是一个 native 应用程序,但缺少我认为可能有益且可能的这一件事。

这是一个例子:

发生了什么:

  1. 从主屏幕图标打开 PWA
  2. 打开默认打开页面
  3. 导航到 PWA 中的特定页面
  4. 返回主屏幕
  5. 从主屏幕图标打开 PWA
  6. 打开默认打开页面

我希望发生什么:

  1. 从主屏幕图标打开 PWA
  2. 打开默认打开页面
  3. 导航到 PWA 中的特定页面
  4. 返回主屏幕
  5. 从主屏幕图标打开 PWA
  6. 从上面的 #3 打开导航页面

我几周前在某处读到某人的评论,说他们已经完成了这项工作,但现在找不到了。我意识到没有“官方”方法可以做到这一点,但想知道是否有任何技巧可以实现这一点。

任何想法或经验将不胜感激。

最佳答案

好消息!此错误已在 iOS 13 中修复

iOS 12 带来了 PWA 持久状态的改进,这意味着当您关闭应用程序时,它会处于与您返回时相同的状态。然而,这带来了另一个错误:强制退出应用程序仍然无法使应用程序恢复到新状态。

在 iOS 13 和 iPadOS 中,这些错误现已完全修复,对于最终用户来说,应用生命周期似乎与 native 应用相同。

为此不需要任何特殊设置:通过升级到 iOS 13/iPadOS,您应该立即看到改进。

引用:https://wespeter.com/posts/ios13-pwa-improvements/

关于ios - 如何在 iOS 中保存 PWA 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48331758/

相关文章:

ios - 创建持久存储后核心数据错误

javascript - 使用适用于 iOS 应用程序的 php 在没有网页的情况下加载 URL

ios - 将 UIWebView 上的 ScreenEdgePanGesture 传递给父 PageViewController

ios - 在 Swift 中读取 CGPoints 的 NSArray

progressive-web-apps - 创建 PWA - Chrome 的主页图标有效,但 Firefox 无效

javascript - 同时有两个 service worker

ios - 使用 UIEdgedInset 的自定义 UISlider 渲染效果不佳

spring-mvc - 仅在 UCBrowser 中看到无效的 CORS 请求

javascript - PWA 上的 session 长度跟踪

iOS 12 不支持部分 PWA 的离线功能