sridharan
sridharan

Reputation: 2065

ionic app splash screen are not shown

I have been trying over and over to add a splashscreen to my Ionic App with this configuration the icons does work but the splashscreen aren't working. It's displaying a blank screen, not even the cordova default splashscreen.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.toggle423609" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>Toggle</name>
  <description>
        An Ionic Framework and Cordova project.
    </description>
  <author email="[email protected]" href="http://example.com.com/">
      Your Name Here
    </author>
  <content src="index.html"/>
  <access origin="*"/>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="android-minSdkVersion" value="16"/>
  <preference name="BackupWebStorage" value="none"/>
  <preference name="SplashScreen" value="screen"/>
  <preference name="SplashScreenDelay" value="3000"/>
  <preference name="AutoHideSplashScreen" value="false" />

  <feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" onload="true"/>
  </feature>
  <platform name="android">
    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
    <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
    <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
    <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
    <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
    <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
  </platform>
  <platform name="ios">
    <icon src="resources/ios/icon/icon.png" width="57" height="57"/>
    <icon src="resources/ios/icon/[email protected]" width="114" height="114"/>
    <icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
    <icon src="resources/ios/icon/[email protected]" width="80" height="80"/>
    <icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
    <icon src="resources/ios/icon/[email protected]" width="100" height="100"/>
    <icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
    <icon src="resources/ios/icon/[email protected]" width="120" height="120"/>
    <icon src="resources/ios/icon/[email protected]" width="180" height="180"/>
    <icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
    <icon src="resources/ios/icon/[email protected]" width="144" height="144"/>
    <icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
    <icon src="resources/ios/icon/[email protected]" width="152" height="152"/>
    <icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
    <icon src="resources/ios/icon/[email protected]" width="58" height="58"/>
    <icon src="resources/ios/icon/[email protected]" width="87" height="87"/>
    <splash src="resources/ios/splash/Default-568h@2x~iphone.png" height="1136" width="640"/>
    <splash src="resources/ios/splash/Default-667h.png" height="1334" width="750"/>
    <splash src="resources/ios/splash/Default-736h.png" height="2208" width="1242"/>
    <splash src="resources/ios/splash/Default-Landscape-736h.png" height="1242" width="2208"/>
    <splash src="resources/ios/splash/Default-Landscape@2x~ipad.png" height="1536" width="2048"/>
    <splash src="resources/ios/splash/Default-Landscape~ipad.png" height="768" width="1024"/>
    <splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" height="2048" width="1536"/>
    <splash src="resources/ios/splash/Default-Portrait~ipad.png" height="1024" width="768"/>
    <splash src="resources/ios/splash/Default@2x~iphone.png" height="960" width="640"/>
    <splash src="resources/ios/splash/Default~iphone.png" height="480" width="320"/>
  </platform>
</widget>

Upvotes: 10

Views: 27549

Answers (9)

Ganesh Garad
Ganesh Garad

Reputation: 381

add Splash Screen Cordova plugins in your app using the following command

    $ionic cordova plugin add cordova-plugin-splashscreen
    $npm install --save @ionic-native/splash-screen

Add following line in you config.xml file

<preference name="FadeSplashScreen" value="false" />
<preference name="AutoHideSplashScreen" value="false" />

Also, Remove SplashScreen.hide() in app.component.ts file

More details with example visit: https://answerdone.blogspot.com/2018/02/ionic-3-splash-screen-plugins.html

Upvotes: 0

Ilya Vinogradov
Ilya Vinogradov

Reputation: 846

Check that you have "cordova-plugin-splashscreen" plugin installed (in the plugins/ folder or by running ionic cordova plugins (for Ionic v3+) or ionic plugins command (older versions of Ionic).

If it's not there run:
ionic plugin add cordova-plugin-splashscreen (Ionic v1 - v2)
ionic cordova plugin add cordova-plugin-splashscreen (Ionic v3+)

Without the plugin iOS will still show the splash screen briefly, but Android wouldn't.

Upvotes: 0

Ramon Rambo
Ramon Rambo

Reputation: 145

My Splash-Screen wasn't showing up either (Ionic 3). I found this Link to be very helpfull. These entries in the config.xml did the trick for me:

<preference name="SplashMaintainAspectRatio" value="true"/>
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="30000"/>
<preference name="AutoHideSplashScreen" value="false"/>
<preference name="SplashShowOnlyFirstTime" value="false"/>
<preference name="FadeSplashScreen" value="false"/>

Upvotes: 5

Shahar ドーン Levi
Shahar ドーン Levi

Reputation: 73

since 07 Nov 2016. Cordova 6.4.0 released with new android version - [email protected].

Most likely you are using android@5 in your cordova(or the old version of android). Try updating/install the new version of cordova android.

To upgrade: cordova platform update [email protected]

To add it explicitly: cordova platform add [email protected]

https://cordova.apache.org/announcements/2016/11/07/android-release.html https://cordova.apache.org/blog/

Upvotes: 4

Sushree Moharana
Sushree Moharana

Reputation: 291

Here is your answer!!

If you are using Cordova 6.4.0 (hit cordova -v in your terminal to check the version), you will face this issue(the icons and splash screens won't generate after build)

In order to resolve the issue, you have two options :

  1. change the word density to qualifier in your config.xml. For eg. put

<icon src="resources\android\icon\drawable-ldpi-icon.png" qualifier="ldpi"/> in place of <icon src="resources\android\icon\drawable-ldpi-icon.png" density="ldpi"/>. Build the project. Will work.

  1. Just install the cordova version 6.3.1 by hitting npm install -g [email protected] in your terminal. Remove and then add the platform, further build it. Works like a charm!!.

Regards!! :p

Upvotes: 11

Bundit.Ng
Bundit.Ng

Reputation: 21

i had same problem, i solved manually by going to path MY_PROJECT\platforms\android\res and delete drawable* and mipmap* and then copy drawable* and mipmap* from MY_PROJECT\res and then re-build project again

Upvotes: 1

Lucas Isasmendi
Lucas Isasmendi

Reputation: 81

After remove and add cordova

   $ cordova platform remove android (or ios)
   $ cordova platform add android (or ios)

You will get a /res folder with your icons and splash screens. Copy the content from /res and paste into platfomrs/android/res, this will replace the standard icon and splash screens.

Then build your app and you will get your custom images.

I used ionic tab template, without changes.

Upvotes: 6

Naushad Qamar
Naushad Qamar

Reputation: 133

We were trying to update ionic app's splash screen using below configuration system but failed :

Cordova CLI: 6.4.0 Ionic CLI Version: 2.1.7 Ionic App Lib Version: 2.1.4 ios-deploy version: 1.9.0 ios-sim version: 5.0.11 OS: macOS Sierra Node Version: v6.9.1 Xcode version: Xcode 8.1 Build version 8B62

We were able to generate splash screen and fix the issue in below configuration system:

Cordova CLI: 6.3.1 Gulp version: CLI version 3.9.1 Gulp local: Local version 3.9.1 Ionic Framework Version: 1.2.4 Ionic CLI Version: 2.1.0 Ionic App Lib Version: 2.1.0-beta.1 ios-deploy version: Not installed ios-sim version: Not installed OS: Mac OS X El Capitan Node Version: v6.6.0 Xcode version: Xcode 8.1 Build version 8B62

Upvotes: 1

sznrbrt
sznrbrt

Reputation: 1013

  1. First try readding your plugin:

    $ ionic plugin remove cordova-plugin-splashscreen
    $ ionic plugin add cordova-plugin-splashscreen
    
  2. Then edit the splash image in your resources folder.
  3. Run $ ionic resources --splash in CLI
  4. Rebuild $ ionic build android and run your app

Check Ionic documentation - Icon and Splash Screen Image Generation

If this is not working, you should remove and readd the platform, on which you experiencing the problem.

$ cordova platform remove android (or ios)
$ cordova platform add android (or ios)

Upvotes: 21

Related Questions