Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将iphone 11、11 pro、11 pro max上的应用程序升级到iOS 13.3后,显示iOS(swift)旧启动屏幕_Ios_Swift_Xcode_Splash Screen_Launch Screen - Fatal编程技术网

将iphone 11、11 pro、11 pro max上的应用程序升级到iOS 13.3后,显示iOS(swift)旧启动屏幕

将iphone 11、11 pro、11 pro max上的应用程序升级到iOS 13.3后,显示iOS(swift)旧启动屏幕,ios,swift,xcode,splash-screen,launch-screen,Ios,Swift,Xcode,Splash Screen,Launch Screen,复制步骤: 在Xcode 11.3中创建演示项目 在启动屏幕上添加一些文本 在iOS版本13.3的iphone(真实设备)11、11 pro、11 pro max上运行Project 当编译项目并启动应用程序时,停止调试过程 现在更改启动屏幕上的文本并再次删除项目 结果:启动屏幕文本未更改。启动屏幕上显示的旧文本。系统会缓存启动图像,并且不会主动清除它们。您可以自己添加代码来清除缓存,尽管我会将其放在一个特性标志后面,因为绕过缓存可能不是您一直想做的事情 import UIKit public

复制步骤:

  • 在Xcode 11.3中创建演示项目
  • 在启动屏幕上添加一些文本
  • 在iOS版本13.3的iphone(真实设备)11、11 pro、11 pro max上运行Project
  • 当编译项目并启动应用程序时,停止调试过程
  • 现在更改启动屏幕上的文本并再次删除项目

  • 结果:启动屏幕文本未更改。启动屏幕上显示的旧文本。

    系统会缓存启动图像,并且不会主动清除它们。您可以自己添加代码来清除缓存,尽管我会将其放在一个特性标志后面,因为绕过缓存可能不是您一直想做的事情

    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)")
            }
        }
    
    }
    

    代码片段摘自:

    是的,这是一个已知问题,有时在更新Launchscreen后,它仍会显示旧版本,对于真实设备,您可以做的是,删除应用程序并重新安装,对于模拟器,重置模拟器,在这些步骤之后,它将显示您的最新内容。您好,欢迎回复。实际上我已经尝试过这个解决方案。我确实在应用程序的入口点“main.swift”中添加了此代码。在应用程序升级之后,它不适用于应用程序的第一次启动。然而,对于第二次和之后的发射(升级后),我得到了新的发射屏幕。我还试图通过重命名发布图像、发布屏幕故事板和相关资产来解决这个问题。但是,在升级后的第一次发布中,应用程序仍然显示旧的发布屏幕。