我有一个Ionic3应用程序,已经在商店中以生产模式运行了将近一年。从cordova-plugin-ionic-webview
到版本2.3.1和UseScheme="true"
的更新极大地提高了性能!但是,整个存储将被删除。对于生产模式下的应用程序来说,这确实是致命的。
如何保存或传输存储中的数据?
我尝试过的事情
我尝试使用插件cordova-plugin-ionic-migrate-localstorage
,但无法正常工作,可能是因为我的cordova-plugin-ionic-webview版本对该插件而言太新了。
答案 0 :(得分:1)
本地存储始终与精确的方案+主机+端口元组关联。
因此,当您激活UseScheme="true"
时,方案将更改为ionic://
,因此您将无法再访问其他本地存储。
我看到了三种解决方法:
您没有激活UseScheme="true"
。这样应该可以让您在使用cordova-plugin-ionic-migrate-localstorage
进行迁移后访问旧的本地存储。
您可以使用旧版Webview更新您的应用,并自己进行迁移步骤,将本地存储存储到永久存储(SQLite,文件系统等)中。在几周/几个月之后,您将使用新的Webview发送另一个更新并使用永久存储。 (当然,这只有在人们实际下载并在迁移步骤中启动了该版本的情况下才能起作用。不这样做的用户将失去其本地存储。)
您查看一下cordova-plugin-ionic-migrate-localstorage
代码,并尝试将旧的本地存储迁移到新的本地存储位置或持久性存储。
无论如何,您都不应再在移动应用中使用本地存储。相反,您可以将@ionic/storage
与sqlite插件结合使用,这样以后就不会再发生这种情况。