[v3.9.8] IOS 13 hangs on splash screen

Hey,

We recently found an issue with our application where users that have upgraded to IOS 13 seem to be hanging on the splash screen of the application. I noticed from logs that the platform.ready() call we have never seems to finish even though I can see Ionic Native: deviceready event fired after 3884 ms in the logs.

Any advice on how I should go about debugging this or what the issue might be? I’m quite lost at this point.

Regards,
Alex

ionic info:

cli packages: (/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

global packages:

cordova (Cordova CLI) : 8.0.0 

local packages:

@ionic/app-scripts : 3.2.4
Cordova Platforms  : ios 5.0.1
Ionic Framework    : ionic-angular 3.9.8

System:

ios-deploy : 1.9.2 
ios-sim    : 8.0.2 
Node       : v8.9.4
npm        : 5.6.0 
OS         : macOS
Xcode      : Xcode 11.0 Build version 11A420a 

Environment Variables:

ANDROID_HOME : not set

Misc:

backend : pro

package.json dependencies:

“dependencies”: {
@angular/animations”: “^5.2.11”,
@angular/cdk”: “^5.2.5”,
@angular/cli”: “^1.7.4”,
@angular/common”: “^5.2.11”,
@angular/compiler”: “^5.2.11”,
@angular/compiler-cli”: “^5.2.11”,
@angular/core”: “^5.2.11”,
@angular/forms”: “^5.2.11”,
@angular/http”: “^5.2.11”,
@angular/material”: “^5.2.5”,
@angular/material-moment-adapter”: “^5.2.5”,
@angular/platform-browser”: “^5.2.11”,
@angular/platform-browser-dynamic”: “^5.2.11”,
@ionic-native/camera”: “^4.20.0”,
@ionic-native/core”: “^4.20.0”,
@ionic-native/date-picker”: “^4.20.0”,
@ionic-native/file”: “^4.20.0”,
@ionic-native/file-chooser”: “^4.20.0”,
@ionic-native/file-opener”: “^4.20.0”,
@ionic-native/file-path”: “^4.20.0”,
@ionic-native/file-transfer”: “^4.20.0”,
@ionic-native/geolocation”: “^4.20.0”,
@ionic-native/google-analytics”: “^4.20.0”,
@ionic-native/in-app-browser”: “^4.20.0”,
@ionic-native/network”: “^4.20.0”,
@ionic-native/splash-screen”: “^4.20.0”,
@ionic-native/sqlite”: “^4.20.0”,
@ionic-native/status-bar”: “^4.20.0”,
@ionic/app-scripts”: “^3.2.4”,
@ionic/storage”: “^2.2.0”,
@types/lodash”: “^4.14.112”,
“cordova-android”: “^8.1.0”,
“cordova-ios”: “^5.0.1”,
“cordova-plugin-androidx”: “^1.0.2”,
“cordova-plugin-androidx-adapter”: “^1.1.0”,
“cordova-plugin-camera”: “^4.1.0”,
“cordova-plugin-datepicker”: “^0.9.3”,
“cordova-plugin-device”: “^1.1.7”,
“cordova-plugin-file”: “^6.0.2”,
“cordova-plugin-file-opener2”: “^2.2.1”,
“cordova-plugin-file-transfer”: “^1.7.1”,
“cordova-plugin-filechooser”: “^1.2.0”,
“cordova-plugin-filepath”: “^1.5.6”,
“cordova-plugin-geolocation”: “^4.0.2”,
“cordova-plugin-google-analytics”: “^1.8.6”,
“cordova-plugin-inappbrowser”: “^1.7.2”,
“cordova-plugin-ionic-webview”: “^1.2.1”,
“cordova-plugin-ionic-wkkeyboard”: “^1.1.15”,
“cordova-plugin-network-information”: “^1.3.4”,
“cordova-plugin-splashscreen”: “^4.1.0”,
“cordova-plugin-statusbar”: “^2.4.3”,
“cordova-plugin-whitelist”: “^1.3.4”,
“cordova-sqlite-storage”: “^3.4.0”,
“cross-env”: “^5.2.1”,
“es6-promise-plugin”: “4.2.2”,
“ion-affix”: “1.1.1”,
“ionic-angular”: “^3.9.8”,
“ionic-img-viewer”: “^2.9.0”,
“ionicons”: “^3.0.0”,
“lodash”: “^4.17.5”,
“moment”: “^2.24.0”,
“ngx-quill”: “^2.2.0”,
“rxjs”: “^5.5.12”,
“sw-toolbox”: “^3.6.0”,
“typescript”: “^2.4.2”,
“zone.js”: “^0.8.29”
},

Alright, after a few days of just random guesswork I have finally narrowed the issue down to a file. It would have really been nice to get some sort of error message instead of a silent failure, but whatever.

Basically it looks like IOS 13 did something and provider code that attempts to setup my SQLite database probably now tries to run too early and just causes a silent error in ionic/cordova. I’m currently trying to actually find the part that is wrong, but this seems to be the issue.

Is there any reason why the ionic platform.ready() silently fails? The cordova event seems to be firing in the logs so I would expect to see something from ionic.

Can you tell me what file ?