簡體   English   中英

即使從Facebook設置中刪除了應用程序,AccessToken仍然存在

[英]AccessToken still exists even after removing an app from Facebook settings

在以下情況下,我希望我的自定義登錄按鈕為藍色:

  1. 用戶已授權該應用,並且訪問令牌仍然存在

在以下情況下,我希望自定義登錄按鈕具有灰色:

  1. 訪問令牌已過期,我希望用戶登錄並獲取一個新令牌

好吧,正如您所見,我嘗試使用if / else條件進行此操作,但是為了真正進行測試,我執行了以下操作:

  1. 轉到我的Facebook設置(WEB)
  2. 點擊“應用”
  3. 搜索該應用並將其刪除

現在,我確定我的自定義登錄按鈕將具有GrayColor,因為通過從我的Facebook設置中刪除授權的應用程序,我還刪除了訪問令牌,但事實並非如此。

我需要我的自定義按鈕顯示為活動(藍色)和不活動(灰色),具體取決於用戶是否已授權應用

提前致謝

我的代碼:

import UIKit
import FBSDKCoreKit
import FBSDKLoginKit

class ViewController: UIViewController {

    let loginButton: UIButton = UIButton(type: .Custom)

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        if FBSDKAccessToken.currentAccessToken() != nil {

            loginButton.backgroundColor = UIColor.blueColor()
        } else {
            loginButton.backgroundColor = UIColor.grayColor()
        }

        loginButton.frame = CGRectMake(0, 0, 180, 40)
        loginButton.setTitle("My Login Button", forState: .Normal)
        // Handle clicks on the button
        loginButton.addTarget(self, action: "loginWithFacebook", forControlEvents: .TouchUpInside)
        // Add the button to the view
        self.view!.addSubview(loginButton)

    }

    func loginWithFacebook() {
        let login: FBSDKLoginManager = FBSDKLoginManager()

        login.logInWithPublishPermissions(["publish_actions"], fromViewController: self) { (result: FBSDKLoginManagerLoginResult!, error) -> Void in
            if (error != nil) {
                NSLog("Process error")
            }
            else if result.isCancelled {
                NSLog("Cancelled")
            }
            else {
                NSLog("Logged in")
                self.loginButton.backgroundColor = UIColor.blueColor()
            }
        }
    }   
}

為什么必須在Facebook上刪除您的應用程序?

運行模擬器時,可以從Mac的頂部欄中選擇:模擬器>重置內容設置...>然后單擊重置

這將清除模擬器中的所有內存。 然后,您可以測試當Facebook會話和訪問令牌不存在時會發生什么。

暫無
暫無

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

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