2017-06-07 58 views
0

我有一個FB登錄實現在我的應用程序,它打開一個WebView,如果用戶通過WebView登錄,一切都很好。 Facebook將返回結果,我可以斯威夫特:Facebook的捕獲事件通過Facebook的應用程序登錄

工作代碼工作與網頁視圖:

fbLoginManager.logIn(withReadPermissions: ["public_profile","email"], from: UIApplication.shared.keyWindow?.rootViewController?.presentedViewController) { (result, error) in 
     if (error == nil){ 
      let fbloginresult : FBSDKLoginManagerLoginResult = result! 
      if fbloginresult.grantedPermissions != nil { 
       if(fbloginresult.grantedPermissions.contains("email")) 
       { 
        self.getFBUserData() 
        fbLoginManager.logOut() 
       } 
      } 
     } 
     else 
     { 
      FBSDKLoginManager().logOut() 
      print(error) 
     } 
    } 

然而,如果用戶沒有通過的WebView登錄,但選擇選項「與Facebook應用程序登錄」,怎麼能我從Facebook應用登錄中獲得結果?

回答

0

我有同樣的問題。它纔出現,當我使用自定義登錄按鈕 和調用的FBSDKLoginManager

登錄方法如果我使用:

let loginButton = FBSDKLoginButton() 
    loginButton.delegate = self 

func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) { 

}

問題解決,我從Facebook應用程序登錄的結果。

您可以輕鬆定製FBSDKLoginButton。

相關問題