【问题标题】:Logout From application in application Settings从应用程序设置中的应用程序注销
【发布时间】:2016-12-04 06:56:12
【问题描述】:

我想使用设置包从应用程序中注销。

 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 不调用且我的密钥不更改。

有我的设置视图:

【问题讨论】:

    标签: ios swift application-settings settings.bundle ios-settings-bundle


    【解决方案1】:

    我正在解决这个问题,而是在didFinishLaunchingWithOptions方法中检查enable_logout键,我在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
    
            }
    
        }
    

    【讨论】:

    • 嗨,你能在电报上给我发消息吗?我是伊朗人,需要你对 signalR 的帮助……提前谢谢……这是我在电报上的 ID:mohammad_Z744
    • @M_STRM74 您好,这是我的电子邮件地址,您可以在这里提问:qazaleh.afrough@gmail.com
    猜你喜欢
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 2019-09-20
    • 2011-10-25
    • 1970-01-01
    • 2013-12-31
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多