Trouble with showing Launch image using LaunchScreen.storyboardc

Using Corona Simulator Version 2020.3583 (2020.5.28), I’m updating my games to redeploy, and I’m having a very difficult time getting iOS version to show the Launch image.

If anyone can help with fixing this problem, I’m grateful.

Here’s the steps I took:

  1. Downloaded launchimage-master.zip as directed.

  2. I copied all of the Launch and Icon assets into launchimage-master folder.

  3. Using Xcode (version 11.6), I opened LaunchImage.xcodeproj from the launchimage-master folder.

  4. I clicked on Assets.xcassets on the left side of the Xcode window.

  5. I clicked on AppIcon and dropped all of the icons I have to fill up all the slots.

  6. I clicked on Launch, selected iPhone & iPad on the right side for the Devices, and then dropped launch images to fill up the iPhone slots (1x, 2x, 3x) and iPad slots (1x, 2x)

  7. I selected LaunchScreen.storyboard on the left side of the Xcode window.

  8. I clicked on the navigation bar on top, selecting Xcode > File > Export, and then selected Interface Builder Storyboard Package as the File Format, and saved it on my Desk Top.

  9. I copied LaunchScreen.storyboardc file to my Solar2D project folder where I have main.lua saved.

  10. I also copied all the icon files and launch image files that I used to create the LaunchScreen.storyboardc into the same project folder where I have main.lua saved.

  11. My build.settings file includes the following:

splashScreen = {
ios = {
enable = false,
},
},

iphone = {
plist = {
CFBundleIconFiles = {},
UILaunchStoryboardName = “LaunchScreen”,
},
},

  1. I then build the app with the Simulator > File > Build > iOS, and I directly copy the generated build onto my device.

  2. The game icon appears on my device, and when I tap on it, it shows Black Screen (instead of Launch Screen), skipping the launch image entirely, and opens the app.

App works perfectly fine from there.

What might I be doing wrong?

BTW, I tried to purchase Splash Screen Control Plugin, but I keep getting the following error message:

Errors have occurred, please validate your input and re-try. Error details:

  • Your card was declined. Your request was in test mode, but used a non test (live) card. For a list of valid test cards, visit: https://stripe.com/docs/testing.

If errors persist, please contact customer support.

I sent email to marketplace@coronalabs.com – I hope I will hear back.

Also, will the Splash Screen Control Plugin cover both Android and iOS versions, and if yes, do I simply remove all I did with LaunchScreen.storyboardc from the project folder?

You can’t make purchases on the old Corona Marketplace anymore since Corona Labs Inc. has ceased to exist. I don’t think anyone is reading/responding to emails sent to that address either.

The splash screen plugin check has been disabled in the later versions, and since you don’t seem to have any problems with building your app, it seems like your version is new enough.

Check your build.settings. You seem to be explicitly disabling the splash screen on iOS by setting enable = false.

Thank you, XeduR. I did not know that the splash screen plugin check has been disabled.

I have disabled the splash screen on iOS by setting enabled = false, but I still get black screen.

Do you mind taking a look at the steps I took above and let me know if there’s anything I did wrong?

I so appreciate your help.

You are seeing the black screen because you’ve disabled the splash screen.

Please refer to the docs: https://docs.coronalabs.com/plugin/CoronaSplashControl/index.html

Thank you for your reply, XeduR.

The thing is, when I set the splash screen enabled = true, I still get black screen. In addition, I get Powered by Corona Labs splash screen after the black screen.

I’m kind of stuck…

Just in case anyone ends up having the same problem, all you need to do is to export LaunchScreen.storyboardc with Universal device setting selected, and use 3 png images with the exact same png file names as the launchimage-master.zip. That appears to be the only way it would work.

Just in case someone stumbles on to this post, looking for a solution, I suggest the following:

  1. Downloaded launchimage-master.zip as directed.

  2. Check the dimensions of the Launch images already inside the launchimage-master folder, and create your own Launch images with exactly the same dimensions.

  3. Copy all of your Launch images into launchimage-master folder, replacing the Launch images that originally came with it. (This Xcode project has nothing to do with icons. So, no need to copy them into launchimage-master folder or do anything with icons here.)

  4. Using Xcode, open LaunchImage.xcodeproj from the launchimage-master folder.

  5. Click on Assets.xcassets on the left side of the Xcode window.

  6. Click on Launch, and then drop your own Launch images where they belong (using the default Universal device setting.)

  7. Select LaunchScreen.storyboard on the left side of the Xcode window.

  8. From the navigation bar on top, select Xcode > File > Export, and then select Interface Builder Storyboard Package as the File Format, and save it to Desk Top.

  9. Copy LaunchScreen.storyboardc file generated through the step #8 above to your Solar2D project folder where you have your main.lua

  10. Copy your Launch images that are used to create the LaunchScreen.storyboardc into the same project folder where you have main.lua

  11. FYI, my build.settings looks like this (copied the relevant part only):

settings = {

splashScreen = {
    android = { enable = true, image = "Launch@3x.png" },
    ios = { enable = false, },
}, 

excludeFiles = { 
    android = { "LaunchScreen.storyboardc", "Launch.png", "Launch@2x.png", },
},

iphone = {
    xcassets = "Images.xcassets",
    plist = {
        UILaunchStoryboardName = "LaunchScreen",
    },

}