【问题标题】:iOS (swift) old launch screen displaying after upgrade the application on iphone 11 , 11 pro , 11 pro max with iOS 13.3使用 iOS 13.3 在 iphone 11、11 pro、11 pro max 上升级应用程序后显示 iOS (swift) 旧启动屏幕
【发布时间】:2020-05-04 04:23:09
【问题描述】:

复制步骤:

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

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

【问题讨论】:

  • 是的,这是已知问题,有时更新Launchscreen后,它仍然显示旧的,你可以做的是,删除应用程序并重新安装,对于模拟器,重置模拟器,之后这些步骤它将显示您的最新内容。

标签: ios swift xcode splash-screen launch-screen


【解决方案1】:

系统缓存启动图像并且不会非常主动地清除它们。您可以添加代码以自己清除缓存,尽管我会将其粘贴在功能标志后面,因为您可能不会一直想要绕过缓存。

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

}

代码 sn-p 取自:https://rambo.codes/ios/quick-tip/2019/12/09/clearing-your-apps-launch-screen-cache-on-ios.html

【讨论】:

  • 您好 Wilk0,感谢您的回复。我实际上已经尝试过这个解决方案。我确实在应用程序的入口点“main.swift”中添加了这段代码。它不适用于应用程序的首次启动,即升级应用程序后立即启动。但是,对于第二次和之后的启动(升级后),我得到了新的启动屏幕。我还尝试通过重命名启动图像、启动屏幕故事板和相关资产来解决它。但是,在升级后的第一次启动时,应用程序仍然显示旧的启动屏幕。
猜你喜欢
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
  • 2020-05-16
  • 2018-03-13
  • 2020-10-03
相关资源
最近更新 更多