Some users are reporting getting white screen onload, after installation or after the splash

I have had a few users comment that after installing my app, that they experience a white screen of death or see our splash screen, then experience the white screen of death.

Other users have no issues with the app and everything works perfectly.

What is the best way to troubleshoot what may be causing this issue with my Ionic app?

This is my current Ionic environment:

Your system information:

Cordova CLI: 6.5.0
Gulp version: CLI version 3.9.1
Gulp local: Local version 3.9.1
Ionic Framework Version: 1.3.2
Ionic CLI Version: 2.1.1
Ionic App Lib Version: 2.1.1
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: Mac OS X Sierra
Node Version: v6.9.5
Xcode version: Xcode 8.2.1 Build version 8C1002

cordova-plugin-console 1.0.4 "Console"
cordova-plugin-device 1.1.3 "Device"
cordova-plugin-inappbrowser 1.6.1 "InAppBrowser"
cordova-plugin-splashscreen 4.0.1 "Splashscreen"
cordova-plugin-statusbar 2.2.0 "StatusBar"
cordova-plugin-whitelist 1.3.0 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 1.8.4 “PushPlugin”

Any thoughts on where to start?

What connects these users? Same hardware? Same OS version? Same anything?

White screen could mean the JS app crashes. In the next version of the app you could add a error logging service where you capture exceptions and send them to an online service to collect and display.

It sounds like the majority of them have upgraded to iOS 10.3.

I am trying to see if there is something with my plugins / build that is not working with the new updated iOS.

1 Like

Couple ideas:

  • Do you manually hide the splash screen using the plugin? Or do you have it setup to fade using the config.xml
  • If you manually hide it, are you making any network requests before you hide it? If so, chances are these network requests are throwing an error which prevents the splash screen from hiding and the app to continue loading.

My guess is somewhere in the or app.config portion of your codebase, something such as a network request or plugin, is throwing an error and you aren’t properly catching this error which stops execution.

I would try turning your device to airplane mode, with no internet connection and start your app to see what happens if they start it with no internet connection.

It’s definitely something related to iOS 10.3. I just upgraded my Xcode to include iOS 10.3 and when I run the simulators, I am now seeing the white screen after my splash screen loads.

As for my splashscreen, I have it set with these variables:

<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="3000"/>

It does not appear the my app.js file is actually being ran in the app now.