Так что iOS 13 действительно доставляет мне неприятности! Я не могу понять, как SceneDelegate может использоваться в моем существующем приложении.
В настоящее время я использую логическую проверку в моем AppDelegate
, чтобы определить, какой ViewController представлен первым ... Мне нужно выяснитькак повторить это, используя SceneDelegate
.
Моя главная задача - как я могу убедиться, что мое приложение будет работать как на iOS 13, так и на любой версии iOS раньше? Если я добавлю SceneDelegate, не произойдет ли сбой моего приложения, работающего на пред iOS 13?
Вот мой текущий метод установки rootVC
if (loggedIn == nil){
Utilities.setLoginAsInitialViewContoller(window: window)
}
else
{
if(termsAgree == nil){
Utilities.setTermsAsInitialViewController(window: window)
}
if(loggedIn != nil){
if(termsAgree != nil){
Utilities.setHomeAsInitialViewContoller(window: window)
}
}
}
class func setLoginAsInitialViewContoller(window:UIWindow) {
let storyboard = UIStoryboard(name: “Login”, bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: “LoginViewController”)
window.rootViewController = controller
window.makeKeyAndVisible()
}
class func setHomeAsInitialViewContoller(window:UIWindow) {
let storyboard = UIStoryboard(name: “Home”, bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: “MainViewNavController”)
window.rootViewController = controller
window.makeKeyAndVisible()
}
class func setTermsAsInitialViewController(window:UIWindow){
let storyboard = UIStoryboard(name: “Terms”, bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: “TermsViewController”)
window.rootViewController = controller
window.makeKeyAndVisible()
}
Приведенный выше код содержится в моем Utilities.swift
класс и называется по моему AppDelegate.swift
вот так:
Utilities.decideInitialViewController(window: self.window!)