My app serves fine, works perfectly fine in the Play Store, builds fine (ionic cordova build ios --prod --release), is compiled and deployed successfully by Appflow, but in TestFlight the app gets stuck in the Splashscreen. When I changed the @ionic-native/splash-screen/ngx for @awesome-cordova-plugins/splash-screen/ngx, the splash-scren seemed to load eternally. That’s all I could get.
Ionic CLI : 6.20.8 (/usr/local/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 6.3.4
@angular-devkit/build-angular : 14.2.10
@angular-devkit/schematics : 14.2.8
@angular/cli : 14.2.8
@ionic/angular-toolkit : 6.1.0
Cordova CLI : 11.0.0
Cordova Platforms : ios 6.2.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, cordova-plugin-ionic 5.5.3, (and 5 other plugins, among them cordova-plugin-splashscreen)
cordova-res : 0.15.4
native-run : 1.7.1
ios-deploy : 1.12.1
ios-sim : 8.0.2
NodeJS : v18.12.0 (/usr/local/bin/node)
npm : 8.19.2
OS : macOS
Xcode : Xcode 14.1 Build version 14B47b
Can you help, please?
Since Appflow and TestFlight are just deployment mechanisms, it’s unlikely to be them.
When I changed the @ionic-native/splash-screen/ngx for @awesome-cordova-plugins/splash-screen/ngx, the splash-scren seemed to load eternally.
It sounds like this plugin change is the culprit. Since the splash screen is loading continuously, that typically means the app is crashing immediately. Review your app load code, especially Splash Screen usage. Is there anything else you are doing on app load that is suspect?
Try debugging the app locally on a device too using our debugging guide to identify the culprit.
As far as I know, since cordova-ios 6 integrated the splash screen into the platform, none of
@awesome-cordova-plugins/splash-screen work anymore (since there is no plugin anymore).
You should uninstall those two packages and also
navigator.splashscreen.hide();) instead of using the typescript helpers (awesome-cordova-plugins/ionic-native).
Thanks for the answer. The app works fine without AppFlow. Why would it if the splashscreen plugin was making it crash?
It was not crashing, but if you install
cordova-plugin-ionic, it requires you to hide the splash screen programmatically.
Since latest cordova-ios and cordova-android both integrated the
cordova-plugin-splashs-screen plugin code, the
@awesome-cordova-plugins/splash-screen wrappers no longer work, because they prevent
cordova-plugin-splashs-screen from installing to avoid conflicts. So the only way of hiding the splash screen is to call
navigator.splashscreen.hide(); (which is included in both cordova-ios and cordova-android.
If you uninstall
cordova-plugin-ionic, then you don’t need to call
navigator.splashscreen.hide(); programmatically and the splash screen hides automatically.