Launch image doesn't update

2019-04-20 03:03发布

问题:

I'm using Xcode 4.3.1. Adding launch image is pretty simple -- just drag the image to the Project->Summary->Launch Images window.

So I set a launch image before and it worked. But when I dragged a different image and run the app on my iPhone again, the launch image still remain the same as the old one. Even after I delete the launch image from the Launch Images window, the old image still shows up upon launching.

I've tried clearing the build as well. Didn't work.

Help please. Very much appreciated!

回答1:

You should delete the app from the device, then launch it again.



回答2:

I had the same issue, but with launch storyboard. I had to rename the image I've used as a background.



回答3:

Deleting from the device didn't help with Xcode 4.5.1. The build process is caching the image. With a hint from Zorayr's answer to related question "Xcode, can't remove “Launch image” from project," I decided to track the cached image down and destroy it, so it wouldn't keep being built and showing up in my test App.

Eventually, I found that Xcode (at least 4.5) builds the images by default in the following path off your home directory:

~/Library/Developer/Xcode/DerivedData/<ProjectName>-<uniqueID>/Build/Products/<Scheme>-iphone{os,simulator}/<ProjectName>.app/

So in addition to removing the old App image from the device (or simulator,) you also need to remove the image file(s) from the build cache. But just doing something like

rm ~/Library/Developer/Xcode/DerivedData/MyProject-fpwnjlbayydgzxcdlyrwxrwntapr/Build/Products/Debug-iphoneos/MyProject.app/Default*.png

won't always solve your problem. Instead, you might get a strange error in a popup window saying something like "Signed product moved or deleted." (I can't reproduce it right now to get the exact text.) It doesn't show up in the log file, and it just hangs the build process (in Xcode 4.5.1.) To get around that, I deleted all of the files under the <ProjectName>.app/ directory tree and the sibling directory tree <ProjectName>.app.dSYM/ containing (seemingly) the symbol tables and signature files for the parallel products. The build process will then re-create everything with no more complaints.



回答4:

What worked for me on iOS 10.2.1, iPhone 5s hardware test device, Xcode 8.2.1

I think it has nothing to do with Xcode. The test device appears to be caching the LaunchScreen.storyboard image. I needed to reboot my device by holding home + top button. Then I rebuilt, low and behold, the image updated.



回答5:

Quit the simulator and then run the project again. For device, as mentioned in other answers, delete the app from the device and then run the app again.



回答6:

If you were using an asset catalog, it can also help to delete the images from the Images.xcassets file, and then load them manually in General>Launch Images.



回答7:

This is what worked for me

  1. Put the new image in project folder
  2. Run app on device/simulator
  3. Put image in xcassets under a different name
  4. Run app again and it works


回答8:

I thought I would create an update for anyone who is XCode 10 (and possibly XCode 9) and experiencing a blank black or white screen after modifying a launch image. In my case I had to create launch images for the iPhone XR, iPhone X, iPhone XS and iPhone XS Max.

Originally I just had a sample white launch image for testing. After creating my proper image for the XR and replacing the sample the change would simply never show (on the XR device). I would still get a white screen.

I tried all of these in combination and failed: -deleting the app beforehand. -deleting xcode derived data and cleaning the build. -restart Xcode and the device and the computer. -deleting any existence of the white launch image on the computer. -manually editing the JSON in a new images asset with the correct file names

The XR device would continuously show a white screen and after meddling with the build setting and migrating back to image packs it turned to black.

Solution: Ultimately it started working after I also replaced the white 'XS' launch image with a new one as well. Even though the device is an XR. This is an odd solution but solutions like this have helped with launch images throughout the years.



回答9:

For me, quitting the Simulator and restarting it worked -- I can finally see the updated launch image. The note above from Emil Korngold triggered me to try this.