iOS launch screen does not update
Asked Answered
C

9

25

I've updated launch screen on an enterprise app, but it won't update when installed on an iPad with the existing app. I've tried completely deleting the app before installing a new version, but it still launches with the old launch screen image.

I've tried installing the new app on another iPad where this app was never installed and the new launch screen appears as expected. Both iPads run the same iOS v9. The app was built with xCode 7.2

In summary I've tried the following scenarios:

  1. updating existing app (version 1) on iPad A - with a new app (version 2) iPad A, loads the new app v2 with launch screen from version 1

  2. installed new app (version 2) on iPad B, which never had this app. iPad B, loads the new app v2 with correct launch screen then I installed old app version 1 on iPad B iPad B, now loads the old app v1 with launch screen from version 2

It seems the iPad somehow caches the launch screen from the very fist install regardless which version it is. Deleting the app and reinstalling does not seem to help and it does not look code related as the correct launch screen images was loaded on iPad B

Coir answered 4/2, 2016 at 4:18 Comment(3)
Make sure your images proper deleted...When you delete images it may be ask one dialog and click Move to trash instead of remove reference.. and then delete in to trash also and then add your new images into your project and once you add new images then first of all delete old version of application.Alexandrite
I'm not sure how images have anything to do with it. This is App's launch screen which has it's images built inCoir
Does this answer your question? iOS Keeping old launch screen and app icon after updateGuacin
A
34

I just had this problem and i found that deleting the app off the device or simulator, then restarting the device or simulator seems to fix the issue.

I found just restarting the device didn't work.

Alimentation answered 15/5, 2016 at 6:50 Comment(6)
This problem carries over into production builds/updates from the App Store. If your version one had blue launch screen, then you set a red launch screen from version two, any user who upgraded from version one to two will see the blue screen for an unknown period of time. There seems to be nothing devs can do about it. We can't tell the use to delete the app etc; data loss would incur in some cases. Smells like an iOS bug to me. Seen as late as iOS 11.4.Sisterly
We are seeing this on an iPad AppStore app, iOS 12.1Teetotaler
Still present with 13.2Transpire
it's works but if you make any change in a project the launch screen ruins (in my case wrong rendering of image from info.plist). For solve need again delete app and restart phone.Ireland
Still present with 17.4Mockingbird
It's a problem now with trying to support light and dark mode, it can look terrible while it resetsObe
O
7

I had tried many kinds of solutions and restart your iPhone is the only way.

Outage answered 3/9, 2018 at 9:1 Comment(1)
useful thanks... it worked for meObe
T
3

In xcode, under Assets.xcassets, I clicked on LaunchImage and then unchecked Universal, checked iPhone, unchecked iPhone, and checked Universal again. Then ran build and it cleared the old image.

Tardiff answered 31/8, 2020 at 21:4 Comment(2)
sadly, this approach worked for me. I said sadly because it's ridiculous :)Xylene
FFS. IT is riduclous, and yes, it does work for me too two years later on iOS 16.Franny
M
1

Simulators and iPhone caches the launch images. this can help you 1>Clear the derived data under your developer/xcode folder 2>reset the device by pressing home button and lock button at same time 3>Push your code to device and it will work, if this doesnt work then creat ipa file and install using itunes after resetting the device and it will show the new launch images

Mitchum answered 29/6, 2016 at 17:17 Comment(0)
T
1

The answer by Steve still holds as of iOS 13.2.3, but I wanted to add a few more items just to back up this point that otherwise exceed the restrictions of a comment.

For starters, I did delete the app, restart the device, etc but because this issue occurs when a user updates through the app store, those fixes are simply not viable.

Then, I decided to take more drastic actions within the app to try and remedy this. These actions were taken with TestFlight builds.

In my particular case, the problem stems from a version string that misrepresents the installed version.

Step 1 then was to simply remove the UILabel in question. Re-running the app would still cause the label to appear in the app.

Step 2 then was to create an entirely new LaunchScreen storyboard and set it as seen here:

enter image description here

Launching the app still presents the old launch screen.

This leads me to believe that something in the project structure is the source of the caching, and no reasonable changes to the LaunchScreen by the developer are going to get around this.

Update

The app has been released to the Appstore, and using the official store release, the app presents the correct launch screen.

Transpire answered 29/11, 2019 at 17:49 Comment(2)
I have the same problem like you described. Could you solve that issue?Improvvisatore
@Improvvisatore I updated my answer, but the short version is that my official app store release behaves correctly, while my TestFlight build did not.Transpire
P
1

See Rambo's post about the issue. At least on iOS 13 you can clear this cache yourself:

import UIKit

public extension UIApplication {

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

}
Prosthesis answered 9/6, 2020 at 7:18 Comment(0)
B
1

Solution 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.

Belldame answered 30/9, 2020 at 12:9 Comment(1)
it doesn't work for me. Xcode 13.1. iOS 12.5.5. iPhone 6+ real deviceGroundage
L
0

Just delete app from simulated iPhone home screen.

On iPhone 11 Max version 2-finger click and drag up from outer margin of the iPhone which will bring you to the home screen and exit your simulated app.

Then 2-finger click and hold your app, delete app and close simulator.

Open Xcode and click play button to run your simulation and the launch screen should be updated.

P.S. Deleting Xcode cache and derived data couldn't hurt.

Lewse answered 2/4, 2020 at 0:52 Comment(0)
H
0

Change the launch screen image names. Also, bump the bundle version and build versions.

Henleigh answered 25/7 at 9:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.