When I launch Ice Trap on one of my iPads, the app icon expands to cover the entire screen for a second or so before the Corona splash screen is displayed. It looks really ugly and gives a poor first impression. I’ve never seen it happen on an iPhone. Any ideas what causes this or how to get rid of it? Thanks.
You have to setup a proper Apple LaunchImage setup. And it has to be exact. I don’t know why Apple makes this so difficult. Your choices:
-
Follow this guide exactly: https://docs.coronalabs.com/guide/distribution/launchFile/index.html#static-method
-
(Recommended): Follow this guide: https://docs.coronalabs.com/guide/distribution/launchFile/index.html (note same guide, two sections)
The first method, known as “static” launch images requires you provide a launch image for every possible screen you’re app can run on in the exact dimensions and for iPads, the iPhone 6/6s/7 plus models, landscape versions as well. The you have to create a huge, table in your build.settings that tells Apple which images to use. There can be no room for error. Then next month when iOS 11 releases and we have new phones, you can bet this will change again. Apple is making this a painful experience because they want developers to stop doing things this way and I agree with them. The complexity of getting this right, the extra weight it adds to your bundle isn’t worth it when you have method #2. Use an Xcode story board.
The Xcode storyboard involves a small light-weight .storyboardc file (Note the “c” on the end) and three image files. The tutorial looks more complex than it really is and if you build your three images so they work on a black background you can just download the starter project listed, export the compiled storyboardc file to the folder with your main.lua and provide “Launch.png”, “Launch@2x.png” and “Launch@3x.png”. Sizes don’t really matter much. I use a square 512x512, 1024x1024, and 1536x1536.
The default project is based on a black background. You would have to change the color to match any other color you needed.
Finally if you want even simpler and don’t care about an image that shows before the Corona splash screen, you can simply copy one of the LaunchImage.storyboardc files from any of our sample projects to your folder with your main.lua. They were designed to just show a black screen, no image. It’s a good transition into the Corona splash screen since it’s black and doing this makes your Android and iOS experience nearly identical (Android is a dark gray screen before the splash screen controls … and no, we can’t control that).
Rob
Wow, thanks for a great and detailed explanation! I’ll give the storyboard solution a try.
Perfect! All I had to do was copy the existing LaunchScreen.storyboardc file from an example project and reference it from my build.settings file (settings.iphone.plist.UILaunchStoryboardName = “LaunchScreen”). It solved the problem with the app icon as well as a couple of other strange glitches I had encountered related to different device resolutions.
You have to setup a proper Apple LaunchImage setup. And it has to be exact. I don’t know why Apple makes this so difficult. Your choices:
-
Follow this guide exactly: https://docs.coronalabs.com/guide/distribution/launchFile/index.html#static-method
-
(Recommended): Follow this guide: https://docs.coronalabs.com/guide/distribution/launchFile/index.html (note same guide, two sections)
The first method, known as “static” launch images requires you provide a launch image for every possible screen you’re app can run on in the exact dimensions and for iPads, the iPhone 6/6s/7 plus models, landscape versions as well. The you have to create a huge, table in your build.settings that tells Apple which images to use. There can be no room for error. Then next month when iOS 11 releases and we have new phones, you can bet this will change again. Apple is making this a painful experience because they want developers to stop doing things this way and I agree with them. The complexity of getting this right, the extra weight it adds to your bundle isn’t worth it when you have method #2. Use an Xcode story board.
The Xcode storyboard involves a small light-weight .storyboardc file (Note the “c” on the end) and three image files. The tutorial looks more complex than it really is and if you build your three images so they work on a black background you can just download the starter project listed, export the compiled storyboardc file to the folder with your main.lua and provide “Launch.png”, “Launch@2x.png” and “Launch@3x.png”. Sizes don’t really matter much. I use a square 512x512, 1024x1024, and 1536x1536.
The default project is based on a black background. You would have to change the color to match any other color you needed.
Finally if you want even simpler and don’t care about an image that shows before the Corona splash screen, you can simply copy one of the LaunchImage.storyboardc files from any of our sample projects to your folder with your main.lua. They were designed to just show a black screen, no image. It’s a good transition into the Corona splash screen since it’s black and doing this makes your Android and iOS experience nearly identical (Android is a dark gray screen before the splash screen controls … and no, we can’t control that).
Rob
Wow, thanks for a great and detailed explanation! I’ll give the storyboard solution a try.
Perfect! All I had to do was copy the existing LaunchScreen.storyboardc file from an example project and reference it from my build.settings file (settings.iphone.plist.UILaunchStoryboardName = “LaunchScreen”). It solved the problem with the app icon as well as a couple of other strange glitches I had encountered related to different device resolutions.