2015-11-05 108 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") 
}