【问题标题】:Facebook SDK with iOS swift not open in UIWebView [duplicate]带有iOS swift的Facebook SDK未在UIWebView中打开[重复]
【发布时间】:2017-02-08 11:58:24
【问题描述】:

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

这是我的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
    }
}

`

【问题讨论】:

标签: ios swift xcode


【解决方案1】:

将 FBSDKLoginManager 对象的 loginBehaviour 设置为 .web。

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

由于你使用FBSDKLoginButton,在viewDidLoad方法中,写

loginButton.loginBehaviour = .web

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    相关资源
    最近更新 更多