Выйти из приложения в настройках приложения

Я хочу выйти из приложения, используя пакет настроек.

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

//enable_logout key for logout switch identifire in setting budle plist.
        let userLogout =  UserDefaults.standard.bool(forKey: "enabled_logout")
        print(userLogout)

            let userLogin =  UserDefaults.standard.bool(forKey: "isUserLogin")
            if userLogin {

                let homeController = HomeController()
                let homeNav = UINavigationController.init(rootViewController: homeController)


                let aboutController = AboutController()
                let aboutNav = UINavigationController.init(rootViewController: aboutController)

                let userBaseController = UserBaseInfoController()
                let userBaseNav = UINavigationController.init(rootViewController: userBaseController)

                tabbarController.viewControllers =[homeNav,userBaseNav,aboutNav]

                self.window?.rootViewController = tabbarController

            }
            else {

                let login = LoginController()
                self.window?.rootViewController = login


            }



        return true
    }

Я добавил этот код в appDelegate, я хочу, чтобы, когда пользователь разрешает выход из системы, переключаться в настройках, а затем возвращаться в представление входа в приложение, но когда включает переключение и обратно в приложение, appDelegate не вызывает, и мой ключ не меняется.

Вот мой вид настроек: введите здесь описание изображения


person ava    schedule 04.12.2016    source источник


Ответы (1)


Я решаю эту проблему, вместо этого проверяя ключ enable_logout в методе didFinishLaunchingWithOptions, я проверил в методах applicationWillEnterForeground.

Вот мой код:

func applicationWillEnterForeground(_ application: UIApplication) {

        let userLogout =  UserDefaults.standard.bool(forKey: "enable_logout")
        print(userLogout)


        if !userLogout {

            let homeController = HomeController()
            let homeNav = UINavigationController.init(rootViewController: homeController)


            let aboutController = AboutController()
            let aboutNav = UINavigationController.init(rootViewController: aboutController)

            let userBaseController = UserBaseInfoController()
            let userBaseNav = UINavigationController.init(rootViewController: userBaseController)

            tabbarController.viewControllers = [homeNav,userBaseNav,aboutNav]

            self.window?.rootViewController = tabbarController

        }
        else {

            let login = LoginController()
            self.window?.rootViewController = login

        }

    }
person ava    schedule 04.12.2016
comment
привет, вы можете отправить мне сообщение в телеграмме, я иранец, и мне нужна ваша помощь для signalR .. заранее спасибо ... это мой идентификатор в телеграмме: mohammad_Z744 - person ; 24.04.2017
comment
@ M_STRM74 привет, это мой адрес электронной почты, вы можете задать вопрос здесь: [email protected] - person ava; 26.04.2017