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 种修复方法:
您没有激活 UseScheme="true"
。这应该允许您在使用 cordova-plugin-ionic-migrate-localstorage
.
迁移后访问旧的本地存储
您使用旧的 webview 更新您的应用程序,并自己包含一个迁移步骤,您将本地存储存储到持久存储(SQLite、文件系统等)。在几个 weeks/months 之后,您使用新的 webview 发送另一个更新并使用持久存储。 (这当然只有在人们实际下载并启动带有迁移步骤的版本时才有效。没有这样做的用户将失去他们的本地存储)。
您查看 cordova-plugin-ionic-migrate-localstorage
代码并尝试将旧的本地存储迁移到新的本地存储位置或永久存储。
无论如何,您不应该再在移动应用程序中使用本地存储。相反,您可以将 @ionic/storage
与 sqlite 插件结合使用,这样以后就不会再发生这种情况了。
我有一个 Ionic3 应用程序已经在商店中处于生产模式将近一年了。从 cordova-plugin-ionic-webview
更新到版本 2.3.1 和 UseScheme="true"
极大地提高了性能!但是,整个存储被删除。这对于处于生产模式的应用程序来说真的是致命的。
如何保留或转移存储中的数据?
我试过的
我尝试使用插件 cordova-plugin-ionic-migrate-localstorage
但没有用,可能是因为我的 cordova-plugin-ionic-webview 版本对于这个插件来说太新了。
本地存储总是与一个确切的方案+主机+端口元组相关联。
因此当您激活 UseScheme="true"
时,方案将更改为 ionic://
,因此您将无法再访问其他本地存储。
我看到了 3 种修复方法:
您没有激活
UseScheme="true"
。这应该允许您在使用cordova-plugin-ionic-migrate-localstorage
. 迁移后访问旧的本地存储
您使用旧的 webview 更新您的应用程序,并自己包含一个迁移步骤,您将本地存储存储到持久存储(SQLite、文件系统等)。在几个 weeks/months 之后,您使用新的 webview 发送另一个更新并使用持久存储。 (这当然只有在人们实际下载并启动带有迁移步骤的版本时才有效。没有这样做的用户将失去他们的本地存储)。
您查看
cordova-plugin-ionic-migrate-localstorage
代码并尝试将旧的本地存储迁移到新的本地存储位置或永久存储。
无论如何,您不应该再在移动应用程序中使用本地存储。相反,您可以将 @ionic/storage
与 sqlite 插件结合使用,这样以后就不会再发生这种情况了。