App stuck in splash screen after every app store update

Hello! I have an iOS app that whenever I publish an update to the apple app store, upon updating the app it gets stuck on the splash screen forever. Users have to uninstall the app and then download it again and it works again. What could this be? Maybe a conflict with the Ionic Pro live update feature? I just do ionic cordova build ios --prod and then archive that in xcode and upload it. Has anyone seen this or could provide some info? I have been able to reproduce this in the simulator just once, the output is:

2018-09-12 08:11:04.984076-0500 Partners SL[34884:1454769] Apache Cordova native platform version 4.5.5 is starting.
2018-09-12 08:11:04.985122-0500 Partners SL[34884:1454769] Multi-tasking -> Device: YES, App: YES
2018-09-12 08:11:05.006231-0500 Partners SL[34884:1454769] CDVWKWebViewEngine: trying to inject XHR polyfill
2018-09-12 08:11:05.595907-0500 Partners SL[34884:1454769] CDVWKWebViewEngine will reload WKWebView if required on resume
2018-09-12 08:11:05.596117-0500 Partners SL[34884:1454769] Using Ionic WKWebView
2018-09-12 08:11:05.597015-0500 Partners SL[34884:1454769] [CDVTimer][console] 0.097990ms
2018-09-12 08:11:05.597364-0500 Partners SL[34884:1454769] [CDVTimer][handleopenurl] 0.159979ms
2018-09-12 08:11:05.600208-0500 Partners SL[34884:1454769] [CDVTimer][intentandnavigationfilter] 2.681017ms
2018-09-12 08:11:05.600456-0500 Partners SL[34884:1454769] [CDVTimer][gesturehandler] 0.082970ms
2018-09-12 08:11:05.606008-0500 Partners SL[34884:1454769] [CDVTimer][file] 5.420923ms
2018-09-12 08:11:05.623266-0500 Partners SL[34884:1454769] [CDVTimer][splashscreen] 17.089963ms
2018-09-12 08:11:05.623982-0500 Partners SL[34884:1454769] [CDVTimer][ioniccordovacommon] 0.558019ms
2018-09-12 08:11:05.624276-0500 Partners SL[34884:1454769] CDVIonicKeyboard: resize mode 1
2018-09-12 08:11:05.625319-0500 Partners SL[34884:1454769] [CDVTimer][keyboard] 1.165986ms
2018-09-12 08:11:05.635999-0500 Partners SL[34884:1454769] [CDVTimer][statusbar] 10.508060ms
2018-09-12 08:11:05.636167-0500 Partners SL[34884:1454769] [CDVTimer][TotalPluginStartup] 39.312959ms

And then stays there forever, the device shows splash screen and spinner.
I open the safari dev tools and there is nothing in the console. Network shows a single request to http://localhost:8080/ but it is not even red. It has no status or source.

If I click on the refresh icon on top of the safari dev tool (or refresh via javascript) I get this:

The elements tab just shows empty head and body tags.

Ionic info is as follows:

Ionic:

   ionic (Ionic CLI)  : 4.0.6 (/usr/local/lib/node_modules/ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.0

Cordova:

   cordova (Cordova CLI) : 8.0.0
   Cordova Platforms     : android 7.1.1, ios 4.5.5

System:

   ios-deploy : 2.0.0
   NodeJS     : v10.8.0 (/usr/local/lib/node_modules/node/bin/node)
   npm        : 6.2.0
   OS         : macOS High Sierra
   Xcode      : Xcode 9.4.1 Build version 9F2000

If I delete the app from the simulator device, and build and run again, it works fine.
Thanks! Hope someone can help!

I’m having this issue too! I have an app that I update through Ionic Pro but lately when I push out any updates the existing iOS app gets stuck on the splash screen for forever and my users have to uninstall the app completely then reinstall it.

Does anyone have any idea what could be going on?

It’s mostly on iOS but I have seen an occasional problem on Android too

In my specific case, the solution was:

  • update whitelist plugin <plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
  • update splashcreen plugin <plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
    -update webview plugin <plugin name="cordova-plugin-ionic-webview" spec="^2.2.0" />
  • added this in config.xml:
<feature name="CDVWKWebViewEngine">
        <param name="ios-package" value="CDVWKWebViewEngine" />
    </feature>

It might help to first uninstall said plugins and then install latest.
Info on the ionic plugins site tends to be outdated so it is better to read the repo of the plugin instead of the ionic page.

my package.json looks like this:

{
  [...]

  "dependencies": {
    "@angular/animations": "5.2.11",
    "@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/platform-browser": "5.2.11",
    "@angular/platform-browser-dynamic": "5.2.11",
    "@ionic-native/core": "^4.14.0",
    "@ionic-native/facebook": "^4.16.0",
    "@ionic-native/fcm": "^4.15.0",
    "@ionic-native/in-app-browser": "^4.15.0",
    "@ionic-native/keyboard": "^4.15.0",
    "@ionic-native/social-sharing": "^4.17.0",
    "@ionic-native/splash-screen": "^4.7.0",
    "@ionic-native/status-bar": "4.7.0",
    "@ionic/pro": "^2.0.3",
    "@ionic/storage": "2.1.3",
    "cordova-android": "7.1.1",
    "cordova-ios": "4.5.5",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-facebook4": "^3.1.0",
    "cordova-plugin-fcm": "^2.1.2",
    "cordova-plugin-file": "^6.0.1",
    "cordova-plugin-file-transfer": "^1.7.1",
    "cordova-plugin-inappbrowser": "^3.0.0",
    "cordova-plugin-ionic": "^5.2.7",
    "cordova-plugin-ionic-keyboard": "^2.1.3",
    "cordova-plugin-ionic-webview": "^2.2.0",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-plugin-x-socialsharing": "^5.4.1",
    "dom-to-image": "^2.6.0",
    "es6-promise-plugin": "^4.2.2",
    "html2canvas": "^1.0.0-alpha.12",
    "ionic-angular": "3.9.2",
    "ionicons": "3.0.0",
    "logrocket": "^0.6.18",
    "rxjs": "5.5.11",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.26"
  },
  "devDependencies": {
    "@auth0/angular-jwt": "^1.0.0",
    "@ionic/app-scripts": "^3.2.0",
    "@ionic/lab": "1.0.7",
    "typescript": "~2.6.2"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-whitelist": {},
      "cordova-plugin-device": {},
      "cordova-plugin-fcm": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-facebook4": {
        "APP_ID": "",
        "APP_NAME": "",
        "FACEBOOK_ANDROID_SDK_VERSION": "4.37.0"
      },
      "cordova-plugin-ionic-webview": {},
      "cordova-plugin-ionic": {
        "APP_ID": "",
        "CHANNEL_NAME": "Master",
        "UPDATE_METHOD": "none",
        "UPDATE_API": "https://api.ionicjs.com",
        "MAX_STORE": "2",
        "MIN_BACKGROUND_DURATION": "30"
      },
      "cordova-plugin-x-socialsharing": {}
    },
    "platforms": [
      "ios",
      "android"
    ]
  }
}

It took me an insane amount of testing to get this right.
Hope this helps!