Posts

Post not yet marked as solved
7 Replies
3.7k Views
We have changed the launch-screen of one of our iOS applications. We have replaced the old launch-screen with new launch-screen storyboard, with some interactive animated stuff on that. But, the old version of the launch-screen/image has got cached on existing devices i.e. devices of application users. After upgrade, these devices where always showing (splash) old launch-screen/image, before the new launch-screen storyboard shows up, on every launch of the upgraded application. This is how it is:BeforeDisplay old launch-screen/imageMain storyboard loaded, application launchedNow, After UpgradeDisplay old launch-screen/image [ The Main Issue ]Display new animated launch-screenMain storyboard loaded, application launchedTo clear the old cached launch-screen/image, we have implemented following code to clear the launch-screen/image cache at the very first entry point (main.swift) of the application bootstrap process.FileManager.default.removeItem(atPath:NSHomeDirectory()+"/Library/SplashBoard")Now, after implementation of this code, old launch-screen/image is still showing after upgrade, before loading of launch-screen storyboard animation. The main improvement (90% solved) that we got here is, that the old launch-screen/image is displaying for the first launch of (only) the application after upgrade. While the code above is doing its job, the old launch-screen/image is not showing for re-launch and launches after the first launch of the application after upgrade.But, we still are looking for the solution to eliminate the old launch-screen storyboard completely i.e. remove it from OS cache even, even before first launch of the upgraded application. Or maybe, if there is something that we can configure in the application properties to ignore or clean the old launch-screen/image cache.One more important point to note here is that the launch-image has been deprecated in iOS 13.3, they are asking to use Launch-Screen only. And, the issue is appearing only in devices that are running on iOS 13.3 (new models only, 2018-2019). All older versions/devices are working correct i.e. not showing the old launch-screen/image ever, in upgraded application. Here is the detail to reproduce the issues, steps that we have taken and the current status:#### TEST ONE (1) ####Steps to ReproduceUse existing application or create a demo application with launch-screen/image (A) configuredLaunch, re-launch i.e. use the application for 1 to 2 minutes, showing the launch-screen/image (A) on each launchNow, delete launch-screen/image (A) in source code, create new launch-screen storyboard (B) with different image/logoCompile and upgrade the previous installed application with the one having launch-screen (B)Launch the upgraded applicationExpected ResultOn 1st, 2nd and further launches of the upgraded application, it must show the new animated launch-screen onlyActual Results[ issue ] First launch after upgrade: old launch-screen/image is showing (splash), before loading of new animated launch-screen storyboard[ issue ] 2nd and further launch attempts after upgrade: old launch-screen/image is showing (splash), before loading of new animated launch-screen storyboard#### TEST TWO (2) ####Steps to ReproduceUse existing application or create a demo application with launch-screen/image (A) configuredLaunch, re-launch i.e. use the application for 1 to 2 minutes, showing the launch-screen/image (A) on each launchNow, delete launch-screen/image (A) in source code, create new launch-screen storyboard (B) with different image/logoAdd following code in "main.swift" file = FileManager.default.removeItem(atPath:NSHomeDirectory()+"/Library/SplashBoard")Compile and upgrade the previous installed application with the one having launch-screen (B)Launch the upgraded applicationExpected ResultOn 1st, 2nd and further launches of the upgraded application, it must show the new animated launch-screen onlyActual Results[ issue ] First launch after upgrade: old launch-screen/image is showing (splash), before loading of new animated launch-screen storyboard[ fixed ] 2nd and further launch attempts after upgrade: application is showing new animated launch-screen storyboard directly#### MORE INFORMATION ####EnvironmentiOS Version : 13.3XCode Version : 11.3Models : iPhone (2018-2019)Ideas TestedRename PNG images used for launch-screen/imageRename PNG images group (asset) used for launch-screen/imageMove launch-screen/image assets to different locationDelete launch-image PNG files, group and configurationRename launch-screen story boardRelated Threadshttps://forums.developer.apple.com/message/321238https://forums.developer.apple.com/message/309446https://forums.developer.apple.com/message/263739https://forums.developer.apple.com/message/285269https://forums.developer.apple.com/message/257638Possible Ideas, Looking ForIs there any way, by which we can perform/execute the launch-screen/image cache cleaning code somehow, immediate after upgrade, before user launches the upgraded application ?Is there any configuration, preferences, settings, by which we can tell the platform (iOS) to ignore or disable the use of launch-screen/image i.e. springboard cache ?Any other solution ?
Posted Last updated
.