Launch Image not showing up in iOS application (us

2019-01-07 14:03发布

问题:

I'm having some trouble getting my launch image to show up in my application.

I have created all the static image files in the Images.xcassets file in an asset set called "LaunchImage".

I noticed that my project also contains a LaunchScreen.xib file (which was automatically created by Xcode).

This .xib file appears when I run the application on my iPhone6 device. It doesn't appear in the simulator for iPhone4s (which makes sense, since xib launch screen is only for iOS 8 +).

I want to use the static images that I have created since they fall under the Apple Guidelines and go with my application. However, I haven't had any luck at getting it to show up.

I noticed under the project settings that there is a section called App Icons and Launch Images. I see how the .xib is connected by the Launch Screen File option I assume.

However, there is an option called Launch Image Sources. What does this do?

I found this: http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/. However, it didn't explain anything about the Launch Image Source option.

There is a button next to the Launch Image Sources called "Use Asset Catalog". When I click it, it just says Migrate Launch Images to an asset catalog. Your existing launch images will be copied into a new image set. Choose an asset catalog to use: .

This is confusing to me because I've already created my asset catalog and I definitely don't want it to overwrite images.xcassets file. So, how do I link this to the Launch Images Asset Set that I already have created? Also what "existing launch images" is it referring to will be copied into a new image set?

Thank you!

UPDATE 1

So, I tried the migrate images option and chose to the new set option. This caused a new image set to be created which I deleted. However, the name left in the Launch Image Source was set to LaunchImage which somehow connected to the image set that contains my launch images. It did mess up my LaunchImage set -- the images were set to unassigned. I deleted them and dragged my files to the appropriate box in the LaunchImage asset set. However, when I run the application it still doesn't work. =( Launch Image doesn't show up.

I even removed the information that was in Launch Screen File (which my assumption was the setting that connects to the .xib file). Still, somehow the .xib file appears on my iPhone6 device. =(

Any ideas what's going on?

回答1:

I had this problem. I tested on simulator. I left the "Launch screen file" blank and removed the line about the "launch screen file" inside the plist. I restarted Xcode. Nothing. In my case in was not black it was white. Xcode 7 target ios 9.

i read this one as well: Launch Image does not show up in my iOS App

The launch image only showed up when i deleted the app from the simulator and run the app again.



回答2:

I finally figured it out!

So, in your project settings, go to the section that says: App Icons and Launch Images

Remove the information found in Launch Screen File if you do not want to use .xib file.

Then, in Launch Image Source, Choose to migrate and if you have already created your LaunchImage file and added the images to it. Then click the asset catalog that shows up. The name of the one that contains your Launch Images.

This will create a new Launch-Image2 in your image set. To use the one you already have created, click the drop-down menu next to Launch Image Source. And you should see your other Launch Image set. Choose it. Then re-build your application and run it. You should see your Launch Image. =)

Hope this helps!

Note: it won't delete your images that you already have in the asset catalog. It will just create a new LaunchImage asset set.

Reference: https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/StoringAppIconsandLaunchImagesinanAssetCatalog.html



回答3:

This is too important !

should be empty ! Launch Screen File



回答4:

Working solution. Saved my time and hope it will save yours as well.

  • 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

Clean and build.

Recommended solution step by step:

  1. Create splash image assets (name as LaunchImage) there in Image.assests folder.
  2. Select LaunchImage asset in Launch Image Source option.
  3. And Clear the text in Launch screen File option.
  4. Clean and build.
  5. Below is the reference image for right configuration:



回答5:

Had a similar issue today. Tried to let xCode create automatically the Asset, but it was always unassigned.

The solution was to create manually the Launch Image in the ImageAsset and assign the files for his respective resolution.

It looks like xCode created a different type of Launch Image asset, so it didn't recognized the asset (v8.3.2)



回答6:

I had this problem in XCode 9.4.1, turned out to be caused by the assets folder not being included in the Bundle Resources. Select the project, then your target. Go to 'Build Phases' and open up 'Copy Bundle Resources'. If the .xcassets group you want to use isn't listed then just drag it in from the file browser.

Worked for me...



回答7:

I just figured this out. My launch image was not showing up, I get a white screen when launching on a device (iPhone 6, 7+) or testFlight. Fix: Renamed "Landing_screen.png" to just "Landing_screen" removing .png part. https://stackoverflow.com/a/43592662/3445278



回答8:

Solved! I've tried a lot. The problem was that the launch image shows in simulator and didn't show in real device. I got a Storyboard with UIImageView in it. Strange was that old images worked, and images, that i did add recently not. First i thought that this is a problem with assets. No. Than i checked color profiles and did a lot of tries with different profiles: left-working image, right-not working. Didn't help.

Then i started google and found this thread

Main solutions from here:

1) Didn't helped for me.

Change image property of my launch image using Preview app: [ Tools --> Assign Profile... --> ColorSync Profile: <> ]

2) Helped

Even deleting the app and re-installing from XCode doesn't work. However, changing the bundle ID does work. With no other changes, the existing bundle ID shows no images, but the new bundle ID shows them all correctly. I'm doing that as a temporary work-around, since a previous post in this thread suggests that installing the builds via TestFlight doesn't encounter the problem.

3)

I did three things (the first two on their own didn't do it, but may have assisted the third which did work)
1) Copied all of the images to the root directory (same location as xcode puts the images)
2) Created a folder in Images.xcassets and put the images in there.
3) The images in the launchScreen.xib were originally called imageName.png. This was changed to just imageName (remove the file extension.

After the third thing the images appeared. I don't know if either of the first two steps are required, but hopefully it will help someone.

4) Helps but old and rude

Taking the images out of the asset catalog fixed the problem for me. I just added the @1x, @2x, and @3x image used on my launch screen to the project the old way and it seems to be working fine. Trying to confirm it through TestFlight now, but iTunes Connect isn't behaving at the moment.

I thought this is an iPhone cash problem. So you don't need to warn about it thus the image will show when installing with testFlight. After this conclusion i did next and that worked:

1) Uninstall app
2) Reboot phone
3) Build app to the phone



回答9:

Close the simulator & open it again worked for me