如何在iOS swift中对自定义FBSDK登录按钮进行操作
我收到的错误类似于“无法将类型为”(FBSDKLoginManagerLoginResult!,nError!)->Void)的值转换为预期的参数类型“FBSDKLoginManagerRequestTokenHandler!”。请帮我解决这个问题 func应用程序(application:UIApplication,openURL-url:NSURL,options:[String:AnyObject])->Bool{return GIDSignIn.sharedInstance().handleURL(url,sourceApplication:options[uiapplicationopenurloptionsourceapplicationkey]as?字符串,注释:options[uiapplicationopenurloptionannotationkey])func应用程序(应用程序:UIApplication,openURL url:NSURL,选项:[String:AnyObject])->Bool{return GIDSignIn.sharedInstance().handleURL(url,sourceApplication:options[UIApplicationOpenUrlOptions SourceApplicationKey]as?字符串,注释:选项[UIApplicationOpenUrlOptions AnnotationKey])如何在iOS swift中对自定义FBSDK登录按钮进行操作,ios,swift,fbsdk,Ios,Swift,Fbsdk,我收到的错误类似于“无法将类型为”(FBSDKLoginManagerLoginResult!,nError!)->Void)的值转换为预期的参数类型“FBSDKLoginManagerRequestTokenHandler!”。请帮我解决这个问题 func应用程序(application:UIApplication,openURL-url:NSURL,options:[String:AnyObject])->Bool{return GIDSignIn.sharedInstance().hand
@IBAction func facebookLoginbuttonPressed(_ sender: FBSDKLoginButton) {
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { (facebookResult: FBSDKLoginManagerLoginResult!, facebookError: NSError!) -> Void in
print("Facebook login failed. Error \(facebookError)")
} as! FBSDKLoginManager
}
@IBAction func selectFacebookLogin(sender: UIButton)
{
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.logInWithReadPermissions(["public_profile", "email", "user_friends"], fromViewController: self)
{
(result, error) -> Void in
if (error == nil)
{
let fbloginresult : FBSDKLoginManagerLoginResult = result
if result.isCancelled
{
return
}
if(fbloginresult.grantedPermissions.contains("email"))
{
self.getFBUserData()
}
}
}
}
func getFBUserData()
{
showIndicator()
if((FBSDKAccessToken.currentAccessToken()) != nil)
{
FBSDKGraphRequest(graphPath: "me",
parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email , gender"]).startWithCompletionHandler(
{ (connection, result, error) -> Void in
self.hideIndicator()
if (error == nil)
{
print(result)
}
})
}
}