【问题标题】:facebook custom button xcode 8 (swift 3) , action doesn't workfacebook自定义按钮xcode 8(swift 3),动作不起作用
【发布时间】:2017-01-20 21:21:00
【问题描述】:

我什至尝试了来自 facebook 开发者页面的简单代码, fb 按钮将我重定向到应用程序确认(页面说:已确认)-而不是 facebook 登录页面。 如果我 (safari) 在 FB 上登录,则没有任何变化...

这是代码:

    func loginButtonClicked() {
    var login = FBSDKLoginManager()
 //   login.logInWithReadPermissions(["public_profile"], fromViewController: self, handler:{(result: FBSDKLoginManagerLoginResult?, error: NSError?) -> Void in
       login.logInWithReadPermissions(["public_profile"], fromViewController: self, handler:{(result:FBSDKLoginManagerLoginResult? , error: NSError?) -> Void in
        if error {
            print("Process error")
        }
        else if result.isCancelled() {
            print("Cancelled")
        }
        else {
            print("Logged in")
        }            
    })
}

错误日志:

/Users/nikola/Documents/Nikola_Lukic/xcode_projekti_8_beta/gitHub_repo_Swift_projects/UI 基本的 模板/UI_controls/UI_nidza_template/UI_nidza_template/facebookLoginForm.swift:72:97: 无法转换类型 '(FBSDKLoginManagerLoginResult?, NSError?) -> Void' 到预期的参数类型 'FBSDKLoginManagerRequestTokenHandler!'

【问题讨论】:

  • 添加一些与帖子相关的好标签是一个很好的做法,这样很多人可以到达您的问题,并且您可能很快就会得到答案。
  • 我遇到了同样的错误,它类似于 Restkit 的错误,错误为 cannot convert value of type (RKObjectRequestOperation!, RKMappingResult!) -> Void to expected argument type (RKObjectRequestOperation?, RKMappingResult?) -> Void!

标签: swift facebook facebook-graph-api login


【解决方案1】:

尝试删除类型。

handler:{(result , error)-> Void in

它对我有用。

【讨论】:

    【解决方案2】:

    试试这个

           func loginButtonClicked() {
            var login = FBSDKLoginManager()
            login.logIn(withReadPermissions:["public_profile"], fromViewController: self, handler:{ response ,error in
            if error {
              print("Process error")
            }
            else if result.isCancelled() {
              print("Cancelled")
            }
            else {
              print("Logged in")
            }            
         })}
    

    【讨论】:

      【解决方案3】:

      将错误类型从 NSError 更改为 Error。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多