Any tips to troubleshoot a white screen of death?

I’m new to Ionic, and trying to post an app to TestFlight.

When I set Build Configuration to “debug” the app freezes on the splash screen. When I set it to “release” it gets past the splash screen but then freezes on the dreaded white screen of death.

I’m wondering if there’s some logs I can read that might give me some clues for debugging it?

When the iPhone is connected to my Mac it’s not appearing under Safari’s Develop pulldown.

It runs fine when I launch it to my iPhone like this:

ionic cordova run ios -l --address=0.0.0.0

And no problems building the Android APK.

Ionic version is 5.4.13.

Here’s my list of plugins:

cordova-open-native-settings 1.5.2 “Native settings”
cordova-plugin-app-version 0.1.9 “AppVersion”
cordova-plugin-bluetoothle 4.5.5 “Bluetooth LE”
cordova-plugin-device 2.0.2 “Device”
cordova-plugin-filechooser 1.2.0 “File Chooser”
cordova-plugin-fullscreen 1.1.0 “cordova-plugin-fullscreen”
cordova-plugin-ionic-keyboard 2.2.0 “cordova-plugin-ionic-keyboard”
cordova-plugin-ionic-webview 4.1.3 “cordova-plugin-ionic-webview”
cordova-plugin-splashscreen 5.0.2 “Splashscreen”
cordova-plugin-statusbar 2.4.2 “StatusBar”
cordova-plugin-vibration 3.1.1 “Vibration”
cordova-plugin-whitelist 1.3.4 “Whitelist”
cordova-plugin-x-toast 2.7.2 “Toast”

Any tips?

Aha, I think I found the issue. It’s freezing on the splash screen because (I think) the “this app needs bt permission” prompt is being hidden. On an iPad I was able to click the home button then grant permission and now the app works.

So I just need to figure out why the permission dialog isn’t working. (I think).

Any component do you add in your project needs to add in your app.module.ts

When that happens the display become white!

Look in debug mode!

The confusing (and disturbing) thing is that the app would work fine in debug mode. No errors, no indication that anything was wrong. Very very difficult to troubleshoot.

But I’m hoping it’s just an issue with prompting for Bluetooth permissions. After user manages to grant permission the app works fine now. And we’re no longer having the white screen, thankfully. It just freezes on the startup screen.