所以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!)