In Xcode 5, I use the asset catalog to manage the app icons and launch images for my app. The app icons work fine on all devices, but the launch images just on a few.
I have added launch images for every possible device, and iOS (6.1 and 7.0), that I want to target. I have made sure that all images have the correct sizes, which is confirmed in the attributes inspector (see picture below) where the size of the images match the expected sizes. I have also named all images after the naming conventions, which should not even be necessary with asset catalog (see last picture). There does not seem to be any naming conventions for iOS7 launch images running on iPhone, so I have simply named them "iphone4_iOS7" and "iphone5_iOS7".
The launch images shown in the simulator when I run on iOS7 all turn up completely black, no matter which device. I also get this behaviour on my iphone 5, which confirms the simulator is not the problem. The same black image is shown when I run iOS6 in the ipad and ipad retina simulators. The launch images for the iphone simulators with iOS6 works as expected.
I have numerous times, both in simulator and on device, deleted the app and cleaned but it has not resulted in any improvement.
What am I doing wrong? How can I get rid of the black launch images and get the images I set in the asset catalog to show instead?
Have you changed the setting for your project so that it points to the Asset Catalog as the source for your Launch Image?
Make sure that Launch Screen File is empty! Making it empty solved the issue in my case
- delete your app from your device
- cmd + shift +k in your Xcode. then build it into your Device
launching images, only will be visible on your device if you reinstall on your device
UPDATE:
There is a weird issue what I found. If you are using LaunchScreen.xib and you have images in it, you have to do the tasks above and TURN OFF your device... (seriously...). Every image will be updated in the next build.
The marked solution helped me figure out my problem:
I had added all the different sizes for the Launch Images, but during launch I would see a white background with black letters "(my app name)" in the center of the screen, with "copywrite (my name)" in small letters along the bottom.
I had specified the "Launch Images Source" to my Images.xcassets file, and added all the images for the correct sizes, but I did not notice that the "Launch Screen File" was still the default value of "LaunchScreen".
I made the "Launch Screen File" entry blank,and it started to use the Images.xcassets files correctly.
Thanks!
This was Xcode 6.1 running on the simulator, ios8.
Although this isn't the OPs issue in this case, this is for anyone was has multiple targets in their project: also make sure the asset catalog is included in all targets (if you're using a single catalog for all targets). In my case it had defaulted (or I had set it at some point in the past) to the first target, and thus my other targets had no launch screen. Strangely, they still had icons.
- Make sure your images are accurate size according to Apple guidelines.
- Make sure, You will select only one option , either launch screen file or Launch Image Source. You can find these two options in Project build settings -> General
My suggestion to you is to select Launch Image Source as Image.Assets. Create splash image assets there in Image.assests folder.
Reference image for right configuration:
I have same problem. Tried all the solution posted here. Still nothing. Black screen only. After trial and error here and there, I found the solution. Delete the "Launch screen interface file..." in your project's PLIST. Delete the entry.
Delete the ENTIRE LINE!!! Don't leave it there with empty value.
Hope this helps someone.
For anyone stumbling on this question as I did:
If your app is landscape only, it won't load the LaunchImage if portrait is not a "supported orientation". You should always have portrait selected, next to the landscape orientation(s) you want to support.
See also:
This question
Make sure the image is not transparent. In my case it is transparent instead of white