无法使用 facebook sdk 在 iOS 中使用 FBLoginView 登录

Unable to log in using FBLoginView in iOS using facebook sdk

函数 loginViewShowingLoggedInUser 从未被调用。即使当我按下登录按钮时,它也会进入 facebook 屏幕要求我按下确定,然后它会返回并仍然在按钮中显示 "Log in.."。每次只调用 loginViewShowingLoggedOutUser 函数。

下面是我的class:

import UIKit

class FBLoginViewController: UIViewController, FBLoginViewDelegate {


@IBOutlet weak var fbLoginView: FBLoginView!


override func viewDidLoad() {
    self.fbLoginView.delegate = self
    self.fbLoginView.readPermissions = ["public_profile", "email", "user_friends"]

}

func loginViewShowingLoggedInUser(loginView: FBLoginView!) {
    println("in loginViewShowingLoggedInUser")
}

func loginViewShowingLoggedOutUser(loginView: FBLoginView!) {
    println("in loginViewShowingLoggedOutUser")

}

func loginView(loginView: FBLoginView!, handleError error: NSError!) {
    println("in loginView")
}

func loginViewFetchedUserInfo(loginView: FBLoginView!, user: FBGraphUser!) {
    println("in loginViewFetchedUserInfo")
}
}

即使在 facebook 屏幕上点击确定后,它 returns 显示为 "Log in..."

从 4.X 版本开始,Facebook 将 SDK 分为 3 个部分:

The SDK is now composed of three frameworks, FBSDKCoreKit, FBSDKLoginKit, and FBSDKShareKit.

因此,如果您使用的是最新的 SDK,请使用 FBSDKLoginButtonDelegate 而不是 FBLoginViewDelegate。对于自定义登录 UI,您可以使用 FBSDKLoginManager。

有关更多信息,请参阅 documentation