iOS (swift) старый экран запуска, отображаемый после обновления приложения на iphone 11, 11 pro, 11 pro max с iOS 13.3 - PullRequest
0 голосов
/ 17 января 2020

Шаги для репликации:

  1. Создание демонстрационного проекта в Xcode 11.3.
  2. Добавление текста на экран запуска.
  3. Запуск проекта на iphone (реальное устройство) 11, 11 pro, 11 pro max с iOS версия 13.3.
  4. Когда проект скомпилирован и запущено приложение, остановите процесс отладки.
  5. Теперь измените текст на экране запуска и снова отладить проект.

Результат: Текст на экране запуска не изменился. Старый текст отображается на экране запуска.

1 Ответ

0 голосов
/ 18 января 2020

Система кэширует образы запуска и не очень активно их очищает. Вы можете добавить код, чтобы очистить кеш самостоятельно, хотя я бы добавил это за флагом функции, поскольку обход кеша - это не то, что вы, вероятно, хотите делать постоянно.

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

}

Фрагмент кода взят из: https://rambo.codes/ios/quick-tip/2019/12/09/clearing-your-apps-launch-screen-cache-on-ios.html

...