我正在使用以下功能登录 Facebook,但我总是需要点击登录按钮两次才能打开 Facebook 登录页面。
我已经在模拟器和设备上进行了测试。我第一次单击登录按钮时,应用程序转到 loginManager.logIn (...) 函数,但直到第二次单击它才进入完成处理程序。
有人有这个问题和解决方案吗?我正在使用 xCode 8 和 Swift 3
private func loginWithFB(){
let loginManager = LoginManager()
loginManager.logIn([ .publicProfile, .userFriends, .email ], viewController: self) { loginResult in
switch loginResult {
case .failed(let error):
print(error)
case .cancelled:
print("User cancelled login.")
case .success(let grantedPermissions, let declinedPermissions, let accessToken):
}
}
}
最佳答案
这段代码对我有用。每次点击按钮时都会调用完成处理程序。
Xcode 版本 - 8.0
FBSDK 版本 - 4.15.1
@IBAction func loginTest(_ sender: UIButton) {
let loginManager = FBSDKLoginManager()
loginManager.logIn(withReadPermissions:["public_profile","user_friends","email"], from: self) {
loginResult,error in
print("completion handler called")
}
}
关于ios - xCode 8,swift 3,使用 LoginManager 的 Facebook SDK 登录必须点击两次才能打开 FB 登录表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39928730/