我正在使用@ionic/storage,因为在V2文档中读到它后,它看起来很有前景。
我在Windows 10笔记本电脑上使用Chrome浏览器,所以一开始一切都很好。然而,当我在iPad上测试它,甚至在笔记本电脑上测试Firefox时,我惊讶地发现它不起作用。
我通过删除sqlite插件解决了Firefox上的问题(我想我会在准备好进行本机测试时添加它):
cordova plugin remove cordova-sqlite-storage --save
遗憾的是,存储在iPad上仍然不起作用。我在Safari和Chrome上进行了测试。由于缺乏开发人员工具或控制台,我无法对此进行调试。
苹果让你依赖Mac在他们的设备上进行开发,我对此感到非常沮丧。
如何修复和调试此问题?
我在Ionic2:中首次导入存储
import { Storage } from '@ionic/storage';
然后为了保存数据,我这样做:
this.storage.set(pk, JSON.stringify(reportObj));
其中pk只是一个唯一的键,reportObj是我在存储之前字符串化的对象。同样,请记住,这在iOS中是不起作用的。
谢谢。
更新:
所以我设法在Safari中运行了这个应用程序,发现.set确实有效,数据存储在WebSQL中。然而,get似乎不起作用,我也没能在控制台中得到任何有用的错误。
好的,所以经过大量的尝试和错误,我发现问题并不是真正的存储。我的用户界面似乎还有其他问题,在iOS上似乎不起作用。
如果你不是Mac用户,我决定在开发过程中回答关于在iOS上测试应用程序的部分。最好的方法似乎是使用离子视图。您只需键入以下内容即可使用:
ionic upload
请确保创建您的帐户。在你的iPad或iPhone中,你可以从iTune下载Ionic View应用程序,然后登录,该应用程序就会出现在那里。
当你上传代码时,只需再次上传,当你点击同步时,应用程序几乎会立即上传到设备上。
希望其他Windows用户从中受益。