1

FacebookSDK を使用して機能を実装したいと考えています。

サンプル アプリケーションとして、次の URL を確認できます。

https://developers.facebook.com/docs/facebook-login/handling-declined-permissions#reprompt

このコードを書きましたが、期待どおりに動作しません。

//Callback function for default FBLogin Button
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)
{
    print("User Logged In")

    if (error != nil)
    {
        // Process error
        print("Processing Error : \(error)")
        FBSDKLoginManager().logOut()
        self.dismissViewControllerAnimated(true, completion: nil)
    }
    else if result.isCancelled
    {
        // Handle cancellations
        print("user is cancelled the login FB")
        FBSDKLoginManager().logOut()
        self.dismissViewControllerAnimated(true, completion: nil)
    }
    else
    {
        print("result : \(result)")

        // If you ask for multiple permissions at once, you
        // should check if specific permissions missing
        if result.declinedPermissions.contains("email")
        {
            print("email is declined")
            // Do work
            loginManager = FBSDKLoginManager()
            loginManager!.logInWithReadPermissions(["email"], fromViewController: self, handler:{ [unowned self](result, error) -> Void in

                    if error == nil
                    {
                        self.fetchUserData()
                    }

                })
        }
        else
        {
            var readPermissions : FBSDKLoginManagerLoginResult = result
            Constants.isUserLoggedIn = true
            fetchUserData()
        }
    }
}
4

1 に答える 1