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

Swift: The supplied Facebook session token is expired or invalid

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

The supplied Facebook session token is expired or invalid

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

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")

        }
    }
}

我曾经遇到过这个错误,不得不在 Objective-C

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

[FBSession.activeSession closeAndClearTokenInformation];

我似乎在 Parse SDK 中找不到 swift 等价物,而 Facebook SDK 仍然只在 Objective-C 中。

您可能必须将此行添加到 Objective-C 文件,然后从您的 swift 文件调用它。查看这个问题,了解如何做到这一点

How to call Objective-C code from Swift