Ionic Webview 更新导致存储丢失

Ionic Webview Update causes storage loss

我有一个 Ionic3 应用程序已经在商店中处于生产模式将近一年了。从 cordova-plugin-ionic-webview 更新到版本 2.3.1 和 UseScheme="true" 极大地提高了性能!但是,整个存储被删除。这对于处于生产模式的应用程序来说真的是致命的。

如何保留或转移存储中的数据?

我试过的

我尝试使用插件 cordova-plugin-ionic-migrate-localstorage 但没有用,可能是因为我的 cordova-plugin-ionic-webview 版本对于这个插件来说太新了。

本地存储总是与一个确切的方案+主机+端口元组相关联。

因此当您激活 UseScheme="true" 时,方案将更改为 ionic://,因此您将无法再访问其他本地存储。

我看到了 3 种修复方法:

  1. 您没有激活 UseScheme="true"。这应该允许您在使用 cordova-plugin-ionic-migrate-localstorage.

  2. 迁移后访问旧的本地存储
  3. 您使用旧的 webview 更新您的应用程序,并自己包含一个迁移步骤,您将本地存储存储到持久存储(SQLite、文件系统等)。在几个 weeks/months 之后,您使用新的 webview 发送另一个更新并使用持久存储。 (这当然只有在人们实际下载并启动带有迁移步骤的版本时才有效。没有这样做的用户将失去他们的本地存储)。

  4. 您查看 cordova-plugin-ionic-migrate-localstorage 代码并尝试将旧的本地存储迁移到新的本地存储位置或永久存储。

无论如何,您不应该再在移动应用程序中使用本地存储。相反,您可以将 @ionic/storage 与 sqlite 插件结合使用,这样以后就不会再发生这种情况了。