Вы должны проверить при запуске приложения.Пользователь вошел в систему или нет.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if isUserLoggedIn {
//Set Main ViewController
self.window?.showAuthenticationVC
} else {
//Optional.. But you can set here Logic VC
self.window?.showMainController()
}
return true
}
isUserLoggedIn
Флаг, который управляет пользователем, вошедшим в систему или нет.Вы можете сохранить это значение в UserDefaults
.
Управление rootViewController для loggedIn и loggedOff User.
extension UIWindow {
func showAuthenticationVC() {
self.makeKeyAndVisible()
let authenticationVC : LoginController = LoginController()
let navigationController = UINavigationController(rootViewController: authenticationVC)
self.rootViewController = navigationController
}
func showMainController() {
self.makeKeyAndVisible()
let authenticationVC : MainController = MainController()
let navigationController = UINavigationController(rootViewController: authenticationVC)
self.rootViewController = navigationController
}
}
И во время действия при входе в систему.Установите showMainController()
, используя AppDelegate window
.то же самое во время выхода из системы вызовите showAuthenticationVC()
, используя window
свойство AppDelegate.
Надеюсь, это поможет вам!