Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS Keeping old launch screen and app icon after update

Tags:

ios

I have been able to reliably get the springboard cache cleared for testing launch image changes by doing this:

  1. Delete your app from the device
  2. Power down the device
  3. Power up device, install and launch app.

The image updates properly every time. Shame I need to power down the device to get it to go - but at least I have been able to make progress this way. I hope this helps someone.

In case of the simulator, just restarting of simulator should work.


These caches are used by Springboard to make app switching fast. This isn't a problem that will affect your production users and should in theory go away the next time Springboard decides to snapshot your app.

That being said, this isn't a problem you can fix. This is a bug in Apple's code not yours.

UPDATE: There appears to be a work around that doesn't require restarting the device.

This will take effect after the second launch!

do {
   try FileManager.default.removeItem(atPath: NSHomeDirectory()+"/Library/SplashBoard")
} catch {
   print("Failed to delete launch screen cache: \(error)")
}

A full explanation of how that works here: https://rambo.codes/ios/quick-tip/2019/12/09/clearing-your-apps-launch-screen-cache-on-ios.html


For the simulator just Reset Contents and Settings...


This worked for me: http://arsenkin.com/launch_screen_image_cache.html

Again, thanks to the thread I have referenced above I found a way to solve this issue - name your new image differently from the one there was before in case your new one has the same name as the old one and put it out of the *.xcassets folder to the project directory and reference it in your UIImageView. And that's it. Sound stupid easy but oh gawd how much rage I had.


I found workaround solution what if you really want to fix this issue. Apple have some mechanisms to cache images of launch screen which indexing by image file name.

When you change any images on launch screen and you want to see those change in next run immediately. please using new image name which image you changed and link to new image file in storyboard or xib.

Run again, you will see new change appear.