2016-02-26 107 views
1

我正在开发使用Firebase的应用程序。 我试图用facebook与firebase sdk登录,但我无法捕捉用户完成与Facebook的身份验证事件。 用我的代码,没有打印。 事件print("checking")不起作用。Swift Facebook登录Firebase SDK无法正常工作

let ref = Firebase(url: "https://nos.firebaseio.com/users") 
    let facebookLogin = FBSDKLoginManager() 



    facebookLogin.logInWithReadPermissions(["email"], fromViewController: self, handler: { 
     (facebookResult, facebookError) -> Void in 
     print("checking") 
     if facebookError != nil { 
      print("Facebook login failed. Error \(facebookError)") 
     } else if facebookResult.isCancelled { 
      print("Facebook login was cancelled.") 
     } else { 
      let accessToken = FBSDKAccessToken.currentAccessToken().tokenString 
      ref.authWithOAuthProvider("facebook", token: accessToken, 
       withCompletionBlock: { error, authData in 
        if error != nil { 
         print("Login failed. \(error)") 
        } else { 
         print("Logged in! \(authData)") 
        } 
      }) 
     } 
    }) 

我使用的是最新版本的xcode(7.2)。 有没有人有这方面的经验? 我在找你的答案。

+0

既然你说'checking'甚至没有打印,我会假设这个问题与Firebase无关。你可能想证明我的假设,并基于此来减少代码。它会让你更清楚你(以及那些能够帮助的人)需要看的方向。 –

+0

您是否在应用程序面板中启用Facebook身份验证?此外,您是否使用Facebook AppID和其他标准更新了应用的.plist文件?此外,请检查您的AppDelegate是否有正确的重定向(如果需要) – Jay

回答

0

我认为你的裁判有问题。

尝试没有/用户

let ref = Firebase(url: "https://nos.firebaseio.com") 

登录功能的其余部分工作正常。

+0

所有改变的是你删除'用户',对吧?因为(虽然肯定整洁)不应该有任何区别。 –

+0

@AMG嗨,我也试过。但同样的事情发生。当用户在Facebook身份验证中按下“确定”按钮时,它会回到应用程序。但没有任何反应。甚至没有印刷。 –