Ios FBSDK不’;使用本机应用程序登录时不返回readPermissions

Ios FBSDK不’;使用本机应用程序登录时不返回readPermissions,ios,facebook,firebase,fbsdk,fbsdkloginkit,Ios,Facebook,Firebase,Fbsdk,Fbsdkloginkit,我在Swift 2.3项目中使用了Facebook SDK 4.13.1。当我尝试通过模拟器登录Facebook时,在使用Facebook授权用户时,它会成功返回用户信息。但当我尝试在iOS设备上执行相同操作,切换到本机Facebook应用程序,然后返回到我的应用程序时,用户的任何信息都不会返回。当我尝试在iOS设备上通过Safari登录Facebook时,也会发生这种情况 这个过程在模拟器中以及之前的iOS设备上运行得非常好,我还没有更新任何可能依赖的SDK 以下是检索用户信息的方法: fun

我在Swift 2.3项目中使用了Facebook SDK 4.13.1。当我尝试通过模拟器登录Facebook时,在使用Facebook授权用户时,它会成功返回用户信息。但当我尝试在iOS设备上执行相同操作,切换到本机Facebook应用程序,然后返回到我的应用程序时,用户的任何信息都不会返回。当我尝试在iOS设备上通过Safari登录Facebook时,也会发生这种情况

这个过程在模拟器中以及之前的iOS设备上运行得非常好,我还没有更新任何可能依赖的SDK

以下是检索用户信息的方法:

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {

    if let error = error {
        print("Facebook Login Button Error: \(error.localizedDescription)")
        return
    }
    else {

        guard let accessToken:FBSDKAccessToken? = FBSDKAccessToken.currentAccessToken() else {

            self.statusLabel.alpha = 0
            self.statusLabel.text = "Oops! There was a problem requesting access from Facebook."
            self.statusLabel.fadeIn(completion: {
                (finished: Bool) -> Void in
                self.statusLabel.fadeOut()
            })

            return
        }

        if accessToken?.tokenString != nil {

            let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString)



            FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
                if let error = error {
                    print(error.localizedDescription)

                    return
                }
                self.performSegueWithIdentifier("SignUpViewControllerSegue", sender: nil)
            }
        }
        else {


            print("Access Token not granted")
            }
        }
    }

func loginButtonWillLogin(loginButton: FBSDKLoginButton!) -> Bool {
    loginButton.readPermissions = ["public_profile", "email", "user_friends", "user_location"];

    return true

}

您是否使用模拟器中使用的同一用户进行了测试?@KKRocks是的,是同一用户。