Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

App does not show the new Splash Image on iOS 11

I encountered a strange problem related to the Splash screen on iOS 11. I use LaunchScreen.storyboard. I changed Splash Image to Xcode 9, but when I started the device on iOS 11 the old Splash image was displayed, I deleted the application from the iPhone 7, and restarted, Splash Image was still old . I restarted the iPhone and then the new Splash Image was displayed, I read about this problem and the way to solve it here. I did TestFlight build for the testers, and they also show the old Splash Screen, if the testers can still reboot the devices, but we can not ask users to reboot their devices so they can see the new Splash Screen. How can I fix it?

Update: Renaming Splash Image does not give any result. On iOS 10, a new Splash image is always displayed, which is the correct behavior.

Update 1: I deleted LaunchScreen.storyboard, created a new installed isInitialViewController property, set UIImageView and image after startup, Splash screen was not displayed and was just a white screen (if you set UIImageView background color any color it will be displayed). I have an opinion that as if the new Splash screen does not install to a specific target because of this is such a problem. But how can this be done in Assets.xcassets? And the main question remains the same - How can I fix it?

like image 751
Alexander Khitev Avatar asked Oct 02 '17 04:10

Alexander Khitev


1 Answers

I've got the same problem and fix it this way:

  1. add LaunchImage in assets catalog
  2. remove LaunchScreen storyboard
  3. change bundleId: bundle -> bundle1
  4. run app and make sure you got a new launch image
  5. change bundleId: bundle1 -> bundle

Enjoy!

UPDATE

LaunchScreen contains iPhone x2 and iPhone Retina 4. If you're use 480x960 image for retina4 you'll got a funny issue.

like image 130
stasuwe Avatar answered Oct 13 '22 15:10

stasuwe