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