簡體   English   中英

在ios swift中注銷后如何調用appdelegate.swift?

[英]How to call appdelegate.swift after logout in ios swift?

我一直在研究 FCM 令牌。 最初,我可以注冊 FCM 令牌並從 FCM 接收令牌。 我的問題是在注銷時,我一直在從后端調用 delete FCM 令牌 API 調用,它從設備中刪除令牌。 刪除 FCM 令牌后,它移動到登錄頁面控制器,但我無法再次注冊 FCM 令牌。 登錄時,我需要傳遞 FCM 令牌以及登錄 API 調用。

這是我用來在登錄視圖控制器中獲取 FCM 令牌的代碼:

       var fcmval :String?

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

   NotificationCenter.default.addObserver(self, selector: #selector(self.fcmTokenUpdated(notification:)), name: Notification.Name("FCMToken"), object: nil)


}

deinit {
    //Don't forget to removeObserver
    NotificationCenter.default.removeObserver(self, name: Notification.Name("FCMToken"), object: nil)
}

@objc func fcmTokenUpdated(notification:Notification){


    if let userInfo = notification.userInfo as? [String: String]{

        if let c = userInfo["token"] {

            print(c)

            fcmval = c

            print("fcm token from app view controller:::", fcmval)

             let baseURL = "https://url"
             A8FlowBuilder(self).showLoginView(url: baseURL, fcm: fcmval ?? "")
        }

    }
}

override func viewDidAppear(_ animated: Bool) {

     NotificationCenter.default.addObserver(self, selector: #selector(self.fcmTokenUpdated(notification:)), name: Notification.Name("FCMToken"), object: nil)
}

注銷后如何注冊FCM令牌?

將其保存在默認值/全局變量中

@objc func fcmTokenUpdated(notification:Notification){  
  if let userInfo = notification.userInfo as? [String: String] , let c = userInfo["token"] {
       UserDefaults.standard.set(c,"Token")
   }
}

然后在任何地方訪問它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM