2016-02-26 145 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身份驗證中按下「確定」按鈕時,它會回到應用程序。但沒有任何反應。甚至沒有印刷。 –