我已经为我的应用实现了facebook登录功能。
单击登录按钮(其类设置为FBSDKLoginButton)并使用用户名和密码登录后,按钮的文本将更改为注销,这很棒。 但是,我没有收到个人资料图片或用户表格facebook的名称。
以下是我的FBSDKLoginButtonDelegate方法。 我在loginButton方法中放了一个打印操作但它没有打印,所以不能输入这个方法。
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)
{
print("does it enter here?")
FBSDKGraphRequest.init(graphPath: "me", parameters: ["fields":"first_name, last_name, picture.type(large)"]).startWithCompletionHandler { (connection, result, error) -> Void in
let strFirstName: String = (result.objectForKey("first_name") as? String)!
let strLastName: String = (result.objectForKey("last_name") as? String)!
let strPictureURL: String = (result.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as? String)!
self.lblName.text = "Welcome, \(strFirstName) \(strLastName)"
self.ivUserProfileImage.image = UIImage(data: NSData(contentsOfURL: NSURL(string: strPictureURL)!)!)
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!)
{
let loginManager: FBSDKLoginManager = FBSDKLoginManager()
loginManager.logOut()
ivUserProfileImage.image = nil
lblName.text = ""
}
你能帮帮我吗?我错过了什么,当我用facebook登录时,我没有输入loginButton方法?
提前谢谢。
答案 0 :(得分:0)
我自己找到了答案,我会离开这里,万一其他人需要它。我错过了这个: btnFacebook.delegate = self 我把这行代码放到了viewDidLoad方法中,现在我从facebook上获取了个人资料图片和用户名。