![](/img/trans.png)
[英]Swift: Facebook Access Token is always returned even after removing App from Facebook settings
[英]AccessToken still exists even after removing an app from Facebook settings
在以下情況下,我希望我的自定義登錄按鈕為藍色:
在以下情況下,我希望自定義登錄按鈕具有灰色:
好吧,正如您所見,我嘗試使用if / else條件進行此操作,但是為了真正進行測試,我執行了以下操作:
現在,我確定我的自定義登錄按鈕將具有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.