ios - IOS 上的 PWA 和离线存储

标签 ios progressive-web-apps

我们希望开发一款“应用程序”,它能够为评估员记录受损汽车的详细信息。这个想法是让少数评估员拥有公司的 iPad。然后当汽车损坏并返回车场时,他们可以访问拍照,输入一些详细信息,然后将它们上传到主系统。部分车场可能位于网络不覆盖的区域,因此需要具备离线能力。

我们最初的想法是开发一个 IOS 应用程序,以便安装在少数公司 iPad 上。该应用程序可以访问相机拍摄照片,然后当设备可以访问互联网时将照片上传到主系统。然而,对于客户而言,该解决方案的成本(在开发成本方面)可能过于昂贵。

我读过有关 PWA 和缓存数据的内容,但缓存似乎用于离线读取访问。

如果我们在 iPad 上安装 chrome 然后安装 PWA 那么大概

  1. PWA 最多可以存储 128GB * 6% = 7.68GB 的​​图片?
  2. 如果使用文件系统 API 进行存储(只要有足够的 系统上的空间)数据将被保留(我的理解是没有时间限制)?或者其他类型的存储是否更合适。
  3. 离线数据显然很重要(可能在法庭上需要),那么在将图像上传到主系统之前,是否还有其他关于持久性和稳定性的问题?

请注意,我们更愿意使用 iPad(因为客户更喜欢这些),但我们可以考虑其他平台。

在这个阶段,我真的想知道访问离线存储的 PWA 在平台上是否可行、实用和稳定?

最佳答案

首先,iOS 限制第三方网络浏览器(或任何显示网页的应用程序)使用自己的引擎 - 在 iPad 上安装 Chrome 将无法访问 iOS/Safari 尚不支持的任何网络 API。

特别是:

  • 文件系统 API 在 iOS 上不可用,即使您使用的是 Chrome
  • Cache API 对每个网站的存储限制为 50MB
  • IndexedDB 每个网站的存储限制为 500MB 或设备可用空间的一半(以较小者为准)
  • 如果几周不使用,PWA 及其缓存数据会自动从设备上删除
  • iOS 不支持要求持久数据的“navigator.storage”API,即使您使用的是 Chrome 或 Firefox。

关于ios - IOS 上的 PWA 和离线存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51593463/

相关文章:

progressive-web-apps - 防止 pwa 缓存文件上的动态内容

javascript - iOS PWA - 打开 map 返回到空白屏幕

reactjs - Service Worker 多久刷新一次?

android - 渐进式网络应用 : Start at android device boot

progressive-web-apps - Firebase 托管设置 - “在每次部署之前设置工作流以运行构建脚本?(是/否)

iphone - OpenGL ES 不会删除我在内存中的纹理

ios - 在 Collection View 中滚动后单元格不显示 - swift 2.1

ios - 以编程方式将 View 的前缘与约束对齐

iOS核心动画放大和缩小

ios - 为什么贝塞尔曲线路径中的 hotTest/tap 检测会在以下情况下产生不准确的结果?