菜鸟教程小白 发表于 2022-12-11 18:16:29

ios - 从应用程序设置中的应用程序注销


                                            <p><p>我想使用设置包从应用程序中注销。 </p>

<pre><code> func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: ?) -&gt; Bool {

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

            let userLogin =UserDefaults.standard.bool(forKey: &#34;isUserLogin&#34;)
            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 =

                self.window?.rootViewController = tabbarController

            }
            else {

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


            }



      return true
    }
</code></pre>

<p>我在 appDelegate 中添加了此代码,我想当用户在设置中启用注销开关然后返回应用程序显示登录 View 时,但是当启用开关并返回应用程序时 appDelegate 不调用并且我的 key 不改变。</p>

<p>有我的设置 View :
<a href="/image/55xe2.png" rel="noreferrer noopener nofollow"><img src="/image/55xe2.png" alt="enter image description here"/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我正在解决这个问题,而是检查 <code>didFinishLaunchingWithOptions</code> 方法中的 <code>enable_logout</code> 键,我检查了 <code>applicationWillEnterForeground</code> 方法。</p>

<p>这是我的代码:</p>

<pre><code>func applicationWillEnterForeground(_ application: UIApplication) {

      let userLogout =UserDefaults.standard.bool(forKey: &#34;enable_logout&#34;)
      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 =

            self.window?.rootViewController = tabbarController

      }
      else {

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

      }

    }
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 从应用程序设置中的应用程序注销,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/40956241/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/40956241/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 从应用程序设置中的应用程序注销