带有iOS swift的Facebook SDK未在UIWebView中打开[重复]

Posted

技术标签:

【中文标题】带有iOS swift的Facebook SDK未在UIWebView中打开[重复]【英文标题】:Facebook SDK with iOS swift not open in UIWebView [duplicate] 【发布时间】: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
    

`

【问题讨论】:

看到这个***.com/questions/31311125/… 【参考方案1】:

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

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

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

loginButton.loginBehaviour = .web

【讨论】:

以上是关于带有iOS swift的Facebook SDK未在UIWebView中打开[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 使用 Parse SDK 登录(iOS 9、Xcode 7.1、Swift 2.1)

我如何从 facebook 公开资料 Facebook IOS Swift SDK 中获取性别

Facebook iOS SDK 和 swift:如何获取用户的头像

使用 SWIFT 在 iOS SDK for Facebook 上使用 FBSDKGraphRequest

Facebook SDK:带有消息“DateTime::__construct()”的未捕获异常“异常”

适用于iOS的Facebook SDK:未显示FBSDKShareDialog