提问人:Bruno Santos 提问时间:7/14/2018 更新时间:1/4/2019 访问量:1238
Ionic App - SQLite 错误“plugin_not_installed”仅在 iOs 设备中运行应用程序时
Ionic App - SQLite error "plugin_not_installed" only when running app in iOs devices
问:
我使用 Ionic3+AngularJS 构建了一个混合应用程序,它使用 SQLite 数据库。
当我在 Android 的设备中运行该应用程序时,它可以完美运行,但是当我尝试在 iPhone 或 iPad 中运行它时,出现以下错误:plugin_not_installed。当应用尝试创建数据库时,会发生这种情况。
这是它创建数据库的方式:
public getDB(){
return this.sqlite.create({
name: 'namedatabase.db',
location: 'default'
}).catch( error => this.showError(error));
}
调用 catch() 并显示错误消息 “plugin_not_installed”。
SQLite使用以下方法安装:
$ ionic cordova plugin add cordova-sqlite-storage
$ npm install --save @ionic-native/sqlite
有什么想法吗?
答:
当我使用 Android 模拟器运行我的应用程序时,我遇到了同样的问题
离子科尔多瓦运行android -lc
当应用程序启动时,一切正常。但是在我的代码和保存命令中进行了几次更改后,应用程序重新加载并显示在我的控制台中
console.warn:Ionic Native:deviceready 未在 5000 毫秒内触发。当插件处于不一致状态时,可能会发生这种情况。尝试从插件中删除插件 / 并重新安装它们。
console.warn:'本机:尝试访问SQLite插件,但未安装。
console.warn:安装 SQLite 插件:“ionic cordova plugin add cordova-sqlite-storage”控制台.log:错误“plugin_not_installed”
即使我按照控制台要求我执行的操作,我仍然收到相同的错误,并且它无法创建我的 SQLite 数据库
我接下来做的是使用上面的运行命令重新运行应用程序,但它浪费了很多时间让我等待应用程序再次启动......再一次:(
createDBFile() {
this.sqlite.create({
name: DB_NAME,
location: 'default'
}).then((db: SQLiteObject) => {
this.db = db;
console.log('BDD cree')
this.stockageLocal.get('dbstatus').then(opened => {
if (opened) {
console.log('DB deja ouvert');
}
else {
console.log('create all table')
this.createTables();
}
})
}).catch(err => {
console.log(' err', JSON.stringify(err))
});
}
我有同样的问题:plugin_not_installed。 我解决了在承诺错误之后放置控制台.log检查并看到该表不存在的问题。
代码:
this.sqlite.create({
name: 'ionicdb.db',
location: 'default'
})
.then((db: SQLiteObject) => {
db.executeSql('create table if not exists MY_SQLITE_STORAGE(key VARCHAR(32) PRIMARY KEY, value VARCHAR(32))', [])
.then(() => {
console.log('Executed Create table if not exists');
this.toastCtrl.create({
message: 'Table created ',
duration: 5000,
position: 'center'
}).present();
}).catch(e => console.log('error: '+JSON.stringify(e)));
}).catch(e => console.log('error: '+JSON.stringify(e)));
评论