2015-11-05 61 views
2

我請求你所有的。我到處搜索,但我找不到工作迅速2.0代碼爲Facebook自定義登錄按鈕與返回訪問令牌。我的代碼根本不起作用。 (令牌沒有返回Facebook的令牌)斯威夫特2.0工作Facebook的自定義登錄按鈕

+0

參考此:http://stackoverflow.com/questions/30634269/facebooksdk4-1-x-custom-login- ui-button-swift1-2,我在這個問題中使用了接受的答案,並且它完美地工作 – kishorer747

回答

0

考慮,你已經做了所有的設置由Facebook開發人員網頁所描述的,你需要做的在您的登錄視圖控制器如下:

//導入以下的下面頂「進口UIKit的」您的用戶視圖控制器

import FBSDKCoreKit 
import FBSDKLoginKit 

//這是斯威夫特

@IBAction func fbLoginBtn(sender: AnyObject) { 

    let permisions = ["public_profile", "email"] 

    PFFacebookUtils.logInInBackgroundWithReadPermissions(permisions) { 
     (user: PFUser?, error: NSError?) -> Void in 

     if let error = error { 
      print(error) 
     } else { 
      if let user = user { 
       print(user) 

      // "yourSegue" below will be the segue identifier for your new view. 
       self.performSegueWithIdentifier("yourSegue", sender: self) 
      } 
     } 
    } 
} 
使用Facebook進行登錄您的自定義登錄按鈕,您的操作代碼

如果您尚未在Facebook開發者處設置您的應用,請按照Facebook Developer Page中提到的簡單步驟進行操作。

+0

我需要導入其他東西嗎?它給了我一個錯誤 '使用未解析的標識符'PFFVideosUtils'' –

+0

您是否在橋接頭文件中導入了#import ?你使用的是什麼版本的Parse和Facebook SDK? –

0

1 - 在您的視圖添加一個普通按鈕然後添加FB登錄類 「FBSDKLoginButton」 2 - 你的ViewController

@IBOutlet weak var FBLoginButton: FBSDKLoginButton! 

3聲明您的按鈕 - 添加在您的viewDidLoad梅索德

if (FBSDKAccessToken.currentAccessToken() != nil) 
    { 
     // User is already logged in, do work such as go to next view controller. 
    } 
    else 
    { 

     self.FBLoginButton.delegate = self 

     FBLoginButton.readPermissions = ["public_profile", "email", "user_friends"] 

    } 

4 - 添加代表登錄和註銷按鈕funcutions

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) { 

loginButton.readPermissions = [ 「public_profile」, 「電子郵件」, 「user_friends」]

let fbAccessToken = FBSDKAccessToken.currentAccessToken().tokenString 

     FBSDKGraphRequest(graphPath: "me?fields=id,name,email,gender,first_name,last_name,middle_name,birthday&access_token=\(fbAccessToken)", parameters: nil).startWithCompletionHandler({ (connection, result, error) in 
     if ((error) != nil) { 
      // Process error 
      print("Error: \(error)") 
     } else { 
      print("fetched user: \(result)") 

     } 


}) 
} 

func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) { 
    print("User Logged Out") 
}