Это макет раскадровки, который у меня есть сейчас

Итак, мне нужно проверить, прошел ли аутентификация пользователя уже при запуске приложения,Если он не вошел в систему, установите контроллер корневого представления для контроллера навигации с формами входа и регистрации. Если он вошел в систему, установите его в контроллер представления панели вкладок.
Я пробовал много разных решений, но ни одно из них не сработало. Он просто продолжал устанавливать контроллер представления на тот, который помечен как «Is Initial View Controller».
Это код, который я пробовал в AppDelegate:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
var viewController: UIViewController
if isAuthenticated() {
viewController = storyboard.instantiateViewController(withIdentifier: Constants.Storyboards.homeViewController) as! UITabBarController
} else {
viewController = storyboard.instantiateViewController(withIdentifier: Constants.Storyboards.authViewController) as! UINavigationController
}
self.window?.rootViewController = viewController
self.window?.makeKeyAndVisible()
return true
}
Я могу сделать это, нажавкнопка легко, но я хочу, чтобы это происходило без необходимости что-либо делать пользователю.
РЕДАКТИРОВАТЬ: Благодаря @LukaCefarin и @Francesco Deliro мне удалось выяснить, в чем проблема. Я использовал XCode 11, и rootViewController должен был быть установлен в SceneDelegate.swift
Вот как мой код в SceneDelegate.swift выглядит для всех, у кого есть похожая проблема:
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let _ = (scene as? UIWindowScene) else { return }
self.window = UIWindow(windowScene: scene as! UIWindowScene)
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
var viewController: UIViewController;
if isAuthenticated() {
viewController = storyboard.instantiateViewController(withIdentifier: "HomeVC")
} else {
viewController = storyboard.instantiateViewController(withIdentifier: "AuthVC")
}
self.window?.rootViewController = viewController
self.window?.makeKeyAndVisible()
}