我已经成功整合了#Facebook; Facebook登录"在iOS应用程序中。然而,它的实施存在一个小问题。
成功登录后,应用程序最好显示" HOME SCREEN"。但不是那个应用程序显示" LOGIN SCREEN"在显示" HOME SCREEN"。
之前2秒我应该采用什么方法实现,以便在通过Facebook应用程序成功登录后显示" HOME SCREEN"没有回到"登录屏幕"?
Facebook登录代码如下。
java
由于
答案 0 :(得分:0)
在完成块内,确保在主线程上执行UI操作:
let loginManager = LoginManager()
loginManager.logIn([.publicProfile, .email], viewController: self)
{ (result) in
switch result
{
case .failed(let error):
print("Error")
case .cancelled:
print("User cancelled")
case .success(_,_,_):
self.getUserInfo
{ userInfo, error in
// puts you back on the main thread
DispatchQueue.main.async(execute: {
let name = userInfo?["first_name"]
let email = userInfo?["email"]
let homeVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "homeVC") as! HomeViewController
homeVC.name = name as? String
homeVC.email = email as? String
self.present(homeVC, animated: true, completion: nil)
})
}
}
}