Facebook SDK with iOS swift 无法在 UIWebView 中打开



我正在使用Xcode 8.2.1和FBSDK 4.19.0我想在网页视图中打开使用 Facebook 登录,而不是在 Safari 中。

这是我的ViewController

`import UIKit
class ViewController: UIViewController, FBSDKLoginButtonDelegate {
    @IBOutlet var loginButton: FBSDKLoginButton!
    var result:NSDictionary=[:]
    override func viewDidLoad() {
        super.viewDidLoad()
        loginButton.delegate = self
        if (FBSDKAccessToken.current()) != nil{
            fetchProfile()
        }
    }
    func fetchProfile(){
    let parameters = ["fields": "name, gender, email, picture.type(large)"]
            FBSDKGraphRequest(graphPath: "me", parameters: parameters).start(completionHandler: { (connection, result, error) -> Void in
                if(error == nil)
                {
                    self.result = result as! NSDictionary
                    print(self.result)
                }
                else
                {
                    print("error (error)")
                }
            })
    }
    func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
        print("completed login")
    }
    func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
    }
    func loginButtonWillLogin(_ loginButton: FBSDKLoginButton!) -> Bool {
        return true
    }
}

'

将 loginBehavior 设置为 .web for FBSDKLoginManager 对象。

let loginManager = FBSDKLoginManager()
loginManager.loginBehaviour = .web

由于您使用的是FBSDKLoginButton,因此viewDidLoad方法中,写入

loginButton.loginBehaviour = .web

最新更新