2015-04-22 76 views
0

函數loginViewShowingLoggedInUser永遠不會被調用。即使當我按下登錄按鈕時,它也會進入Facebook屏幕,要求我按下OK按鈕並返回,並在按鈕中仍顯示「登錄..」。每次只有loginViewShowingLoggedOutUser函數被調用。無法使用Facebook登錄使用Facebook的FBLoginView sdk

下面是我的課:

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的屏幕上確定後,就返回到屏幕 「登錄...」

Image showing confirmation of facebook login

Image showing still the Log In button, expecting Log Out

+1

確保您已將代理添加到AppDelegate.m文件中。 (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; –

回答

0

自4.X版本以來,Facebook將SDK分爲三部分:

SDK現在由三個框架組成,FBSDKCoreKit,FBSDKLoginKit和FBSDKShareKit。

因此,如果您使用最新的SDK使用FBSDKLoginButtonDelegate而不是FBLoginViewDelegate。對於自定義登錄UI,您可以使用FBSDKLoginManager。

查看documentation瞭解更多。