Default Splash Screen (no more single codebase for multiple platforms)

Thank you @Rob and the Corona Team!

Right now, I’m doing a happy dance.  :D 

@Rob Miracle,

After implementing these instructions, iOS and Google works correctly with regards to getting my own customized splash screen. Unfortunately, when I build a release for Amazon and noticed that I get the Corona splash screen. Can Corona please look into this?

Thank you.

Can you post what you have in your build.settings please?

Thanks

Rob

splashScreen = { ios = { enable = false }, android = { enable = true, image = "Default-Landscape@2x.png" } },

I’ll see what I can find. Can you confirm that when you say “build a release for Amazon” that you’re picking Amazon from the list of target stores on the build dialog?

Thanks

Rob

That’s correct.

Also, I’m using Corona version 2970.

Hmm, that’s definitely a bug.  You can workaround it for the moment by making the default splashscreen be what you want and then turning it off for iOS:

splashScreen =  {     enable = true,     image = "Default-Landscape@2x.png",          ios = {         enable = false     }, },

Coming back to this as it seems the right place to post it and can’t find the info anywhere else…

Is there a way to ensure my splash screen (which is on a white background) displays on both iPad and iPhone without a load of black either down each side or along the top / bottom?

If I make the size right for iPad it displays incorrectly on iPhone and vice versa.

The documentation just says “experiment”, which I did, but can’t find a way of getting different images to work for both.

Thanks.

As of right now, we only support a black background but we are looking to expand the feature set some point in the future.

Rob

I’d be happy if Corona just added a new setting called:

splashScreenForAndroid = { …

Hi @troylyndon,

Pardon my curiosity here, but you show a different splash screen on iOS vs. Android? Why? Does one have a little Android robot on it or something? No sarcasm intended… I’m just trying to ponder why you would show a different splash screen on each platform. Or, why would you not entirely disable it on both, if that’s what you’re doing on one?

Brent

I think releasing this splash screen control plugin without a warning and testing by Corona users was a very big mistake.

@Brent
May be because of Storyboard Launch Screen on iOS?
[lua] UILaunchStoryboardName = “LaunchScreen”,
UILaunchImages = {


}[/lua]
If I need to show launch screen as image on Android and as Storyboard on iOS do I need to edit build.settings?

The splash screen control does not bypass Apple’s launch images. Android (the OS) has never supported launch images. Way back when we first started doing Android builds, the community wanted launch images, so we had Corona look for Default.png and Default@2x.png and show it.

Fast-forward to today. Apples launch images are hyper complex. We have no ability to disable them. Our Android support only looked for those two images and didn’t look at the other variants that fit modern devices.  Our new splash screen control on Android replaces the out-dated Default.png support. The net effect of this is that on Android you get:

Start App

Show Corona’s controlled splash screen

App’s first screen shows.

On iOS:

Start App

Show Apple’s launch images (if configured)

Show Corona’s controlled splash screen

App’s first screen shows.

On iOS  you are not required to have a launch image. You can take the UILaunchImages table out of build.settings, rename the files so they are not accidentally picked up by older OS’s and just use the splash screen control to get back to a level playing field.

Rob

If I were you, I would stick with enable = “false” , don’t include any launch images and create a simple logo.lua file with a timer to show the logo / image you want. I only include a complete black LaunchScreen.nib file in the root folder and nothing regarding LaunchImages in build.settings.

@Rob, this is the problem I mentioned before at another thread…

Actually same splash images are used.

If we set —> splashScreen = { enable = false }, 

then for iOS , Apple’s launch images will be applied for splash screen with proper size and aspect ratio… it’s good.

however for Android , there will be only dark screen… it could be quite a long period because the Lua code is huge for the app.

if we set —> splashScreen = { enable = true, image = “splashImage.png”},

then for Android , it will be fine to use “splashImage.png” as splash screen.

however for iOS , there will be two splash screens , the first one defined by Apple’s launch images, followed by a second one  of “splashImage.png” defined above.

That’s the reason we have to use 

splashScreen = { enable = false } or iOS, and,

splashScreen = { enable = true, image = “splashImage.png”} for Android

Don’t use Apples  launcher images.

@rob We have to use Apple launcher images because otherwise we’re looking at the black screen while the app is loading the splash screen. Also, the native animation from tapping the icon is zooming into the launch image, not splash image.

Current version of the Splash “feature” is useless. I paid for it to remove it, hoped it would help me with not having all these launch images making my apps bigger in size. Looking forward to next releases.

@rob, Can you please address Wilson’s post above? He nailed the problem exactly, confirming the need for Corona to address this ASAP.

Today, my App was submitted to Apple for Review and we released the Android version in New Zealand. So, in our particular case, we had to remember to change the code in build.settings before creating each build. Corona’s failure to address this, as Wilson has pointed out, will make this situation the ONLY time in Corona’s history whereby the same code-base cannot be used for any platform. Considering the great lengths your team has worked to insure this is never the case, we are hopeful this can be addressed in a new daily build.

Again, I’d be happy if Corona just added a new setting called:

splashScreenForAndroid = { …

Good points and clarification guys. As noted, we’ll internally discuss a per-platform type of usage/syntax and report back with progress when we can.

Brent

This isn’t a situation we had considered (OS specific splash screen on one platform, Corona splash screen on another).  Clearly we need per platform settings for this and we will add them.