-
Notifications
You must be signed in to change notification settings - Fork 26
Description
The requirement to wait for the deviceready event has caused some major confusion and other trouble for people using Ionic 2 and other Angular derivatives with the sqlite plugin. Here are a couple examples:
- openDB don't work in android storesafe/cordova-sqlite-storage#598
- Getting message: Native: tried accessing the SQLite plugin but it's not installed. ionic ios emulator 10 storesafe/cordova-sqlite-storage#594
I think storesafe/cordova-sqlite-storage#594 (comment) by @rodineijf really helps to highlight this problem:
Hi @brodybits, by default the attribution of rootPage on ionic 2 is on declaration of var rootPage. I can solve my problem moving the rootPage attribution to the platformReady on app.component
initializeApp() { this.platform.ready().then(() => { this.rootPage = MyPage; StatusBar.styleDefault(); Splashscreen.hide(); }); }
In contrast I heard that in the React Native there is no requirement to wait for the deviceready event.
I think the solution is to fix cordova.js to prepare the all of the JavaScript from the plugins upon loading and to have cordova.exec put the native calls into a queue until the initialization is confirmed to be completed.
I will take a look at fixing this when I get a chance.