Ionic Storage不适用于iOS

时间:2017-12-28 21:46:11

标签: ios ionic-framework ionic-storage

设置不起作用。获取不起作用。我甚至无法在iOS上获得驱动程序名称。调用“就绪”不起作用。电话只是不回来。承诺没有兑现。这就像是一个虚空。

Android和Chrome上的离子存储工作正常。

这些是我安装的插件:

cordova-plugin-device 1.1.4 "Device"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.2 "StatusBar"
cordova-plugin-whitelist 1.3.1 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
onesignal-cordova-plugin 2.2.1 "OneSignal Push Notifications"
cordova-sqlite-storage 2.0.4 "Cordova sqlite storage plugin"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-calendar 5.0.0 "Calendar"
cordova-plugin-compat 1.0.0 "Compat"
cordova-plugin-network-information 1.3.4 "Network Information"
cordova-plugin-add-swift-support 1.7.0 "AddSwiftSupport"
cordova-plugin-ionic 2.0.4 "IonicCordova"
cordova-plugin-background-mode 0.7.2 "BackgroundMode"

这是我如何使用它的想法。请注意,我的代码在Android和Chrome中运行良好。

import { Storage } from '@ionic/storage';

this.platform.ready()
.then(()=>{
this.storage.ready()
.then(() => {
this.storage.get(name)
.then((value)=>{

我也使用捕获来捕获错误,但没有。它就死了。 “storage.ready”甚至没有回来。

在我的app.module.ts中,我将这些行放在正确的位置:

import { IonicStorageModule } from '@ionic/storage';

IonicStorageModule.forRoot(),

有什么想法吗?我的头因撞在墙上而受伤。

1 个答案:

答案 0 :(得分:0)

我遇到过类似的问题。要测试你的.ts中的最新情况

      this.storageEngine = localStorage.storage.driver;

然后在您的HTML文件中

        {{ storageEngine }}

我怀疑问题是,它试图使用indexeddb,在移动设备上使用sqlite来防止垃圾收集擦除数据。

第1步:

ionic cordova plugin add cordova-sqlite-storage

第2步:app.module.ts

IonicStorageModule.forRoot({
  name: '__yourapp-localstorage',
     driverOrder: ['sqlite','indexeddb', 'websql']
}),