我正在使用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