我已经为我的应用程序实现了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方法,我错过了什么?
提前谢谢你。
我自己找到了答案,如果其他人需要它,我会离开这里。我错过了这个: btnFacebook.delegate = self我已经将这行代码放入viewDidLoad方法中,现在我从Facebook获得个人资料图片和用户名。