After 3.0 upgrade I can't get past the splash screen

Ionic version: (check one with “x”)
[ ] 1.x
[ ] 2.x
[X] 3.x

I’m submitting a … (check one with “x”)
[X] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: or

Current behavior:
I upgraded to 3.0 following the release notes and I’m trying to run the app and I’m getting stuck on the splash screen. I tried both with a full build and a live reload build. With the LR one I got only the following log:

[12:09:55] console.log: Ionic Native: deviceready event fired after 204 ms

I’d be happy to relay any other debug info you all need but that’s all I have to go on right now.

Expected behavior:
I expect the app to launch and go to the root page

Steps to reproduce:
I don’t have steps to reproduce as this is a private app and I have a newly created Ionic 3 app that is working fine. I have referenced the Ionic 3 app multiple times to try to determine what the difference is between it and my Ionic 2 -> 3 app.

Related code:


“dependencies”: {
"@angular/common": “4.0.0”,
"@angular/compiler": “4.0.0”,
"@angular/compiler-cli": “4.0.0”,
"@angular/core": “4.0.0”,
"@angular/forms": “4.0.0”,
"@angular/http": “4.0.0”,
"@angular/platform-browser": “4.0.0”,
"@angular/platform-browser-dynamic": “4.0.0”,
"@angular/platform-server": “4.0.0”,
"@angular/animations": “4.0.0”,
"@ionic/storage": “2.0.1”,
"@ionic-native/core": “3.4.4”,
"@ionic-native/splash-screen": “3.4.4”,
"@ionic-native/status-bar": “3.4.4”,
"@ionic-native/badge": “3.4.4”,
"@ionic-native/diagnostic": “3.4.4”,
"@ionic-native/dialogs": “3.4.4”,
"@ionic-native/keyboard": “3.4.4”,
"@ionic-native/network": “3.4.4”,
"@ionic-native/app-version": “3.4.4”,
"@ionic-native/geolocation": “3.4.4”,
"@ionic-native/barcode-scanner": “3.4.4”,
"@ionic-native/flashlight": “3.4.4”,
"@types/lodash": “^4.14.50”,
"@types/winrt-uwp": “0.0.16”,
“angular2-uuid”: “^1.1.0”,
“ionic-angular”: “3.0.1”,
“ionicons”: “3.0.0”,
“jwt-decode”: “^2.1.0”,
“localforage”: “^1.4.3”,
“localforage-cordovasqlitedriver”: “^1.5.0”,
“lodash”: “^4.17.2”,
“moment”: “^2.17.1”,
“rxjs”: “5.1.1”,
“zone.js”: “^0.8.4”,
“sw-toolbox”: “3.4.0”
“devDependencies”: {
"@ionic/app-scripts": “1.3.0”,
“typescript”: “2.2.1”
“cordovaPlugins”: [
“cordovaPlatforms”: [
“platform”: “ios”,
“version”: “4.3.1”,
“locator”: “ios”
“platform”: “android”,
“version”: “6.2.1”,
“locator”: “android”
Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):

Your system information:

Cordova CLI: 6.5.0
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.0
ios-deploy version: 1.9.0
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.5.0
Xcode version: Xcode 8.3.1 Build version 8E1000a

I had also a Problem with the splash Screen after updating from ionic 2 to 3.

In my case I followed the native splash screen doc to solve the Problem

I just hooked up logcat since the logs ionic wasn’t spitting out anything and here is something that I found interesting:

"Uncaught Error: Cannot find module "ionic-native"", source: (35656)

I don’t have ionic-native as a dependency and I switched all my imports over to use the @ionic-native/plugin convention. @Jacktoolsnet I’ve looked over those docs and I am correctly importing it, I have it in package.json, the plugin is in the plugins directory, and I’m constructing/calling it the same way.

Have you tried this in your Project Folder

npm install @ionic-native/core --save

Not specifically because I followed to upgrade guide and added it to my package.json manually then ran npm install. I’ll try it anyways but I don’t anticipate that doing anything as I already have the following in package.json:

"@ionic-native/core": "3.4.2",

Well damn it… IDEA appears to have been opperating on a bad cache or something. I just invalidated caches and restarted then searched for “ionic-native” and lo and behold I found a few places I hadn’t updated… I’ll try that. I do wish that error had been printed to the terminal or popped up on the screen instead of being hidden in logcat. Also odd everything built w/o issue…

Well I fixed the last 2 places this was a problem and the problem remains. Some more logcat output: (Note I copied lines that stood out to me, if you want I can post a full launch)

E chromium: [] Not implemented reached in virtual bool xwalk::XWalkPlatformNotificationService::GetDisplayedPersistentNotifications(content::BrowserContext*, std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
E chromium: [] Failed to read preference, error num: 0
W chromium: [] Error loading extension '/data/app/APPID-2/lib/arm/': couldn't get XW_Initialize function.
W chromium: [] Failed to initialize extension: /data/app/APPID-2/lib/arm/
W chromium: [] Error loading extension '/data/app/APPID-2/lib/arm/': couldn't get XW_Initialize function.
W chromium: [] Failed to initialize extension: /data/app/APPID-2/lib/arm/
W chromium: [] Error loading extension '/data/app/APPID-2/lib/arm/': couldn't get XW_Initialize function.
W chromium: [] Failed to initialize extension: /data/app/APPID-2/lib/arm/
E chromium: [] Forcing zero-copy tile initialization as worker context is missing

Ok, I don’t think those errors had anything to do with it. I opened up chrome inspector and was able to see the real error that was hidden under the splash screen… It had to do with “not provider for…” which I understand (thought I think it should have been called out in the upgrade guide more) but also for 1-2 places that someone didn’t get updated to use injectables instead of static methods on ionic native plugins. I am very surprised/concerned that didn’t get caught when building.

So it’s working for you now?
What exactly was the real error?

It was just missing providers in the end. But I’m not used to the errors not being shown on the screen or in the terminal logs when using live reload. I finally found them by using remote debugging in chrome but I had (wrongly) assumed chrome wouldn’t be able to connect because I thought the app hadn’t even finished launching.