Swift:提供的Facebook会话令牌已过期或无效

时间:2015-03-12 13:14:46

标签: swift parse-platform facebook-ios-sdk

我正在尝试将FacebookLogin与Parse一起使用但是我收到了一个错误,

  

提供的Facebook会话令牌已过期或无效

每次我尝试使用下面的代码登录。

import Foundation
import UIKit

class LoginViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let permissions = ["public_profile", "email"]
    PFFacebookUtils.logInWithPermissions(permissions) {
        (user, error) in
        if (user == nil) {
            if (error == nil) {
                println("User cancelled FB login")
            }else{
                println("FB login error: \(error)")
            }
        } else if user.isNew {
            println("User signed up and logged in with Facebook")

        } else {
            println("User logged in via Facebook")

        }
    }
}

1 个答案:

答案 0 :(得分:1)

我曾经遇到过这个错误,并且必须在Objective-C

中的登录调用之前放置这一行

[FBSession.activeSession closeAndClearTokenInformation];

我似乎无法在Parse SDK中找到快速的等价物,而Facebook SDK仍然只在Objective-C中。

您可能必须将此行添加到Objective-C文件,然后从swift文件中调用它。看看这个问题怎么做

How to call Objective-C code from Swift