@IBAction func buttTapped(_ sender: Any) {
func facebookLogin(){
let loginManager = LoginManager()
loginManager.logIn(permissions: ["publicProfile", "email"], from: self) { loginResult in
switch loginResult {
case .failed(let error):
print(error)
case .cancelled:
print("User cancelled login.")
case .success(let grantedPermissions, let declinedPermissions, let accessToken):
print("Logged in!")
self.fetchUserProfile()
}
}
}
}//
это функция fetchuserprofile ниже
func fetchUserProfile() {
let graphRequest : GraphRequest = GraphRequest(graphPath: "me", parameters: ["fields":"id, email, name, picture.width(480).height(480)"])
graphRequest.start(completionHandler: { (connection, result, error) -> Void in
if ((error) != nil)
{
print("Error took place: \(error ?? "" as! Error)")
}
else
{
let result = result as! Dictionary<String, Any>
let picture = result["picture"] as! Dictionary<String, Any>
let dataObj = picture["data"] as! Dictionary<String,Any>
var emailValue = result["email"] as! String?
if emailValue == nil {
emailValue = ""
}
let name = result["name"] as? String
let id = result["id"] as? String
let imageUrl = result["url"] as? String
// Update data to firestore
}
})
}
я получаю ошибки, такие как Невозможно преобразовать значение типа '(_) -> ()' в ожидаемый тип аргумента 'LoginManagerLoginResultBlock?' (aka 'Необязательно <(Необязательно, Необязательно) -> ()>')
, и если я попытаюсь это исправить, то это говорит о том, что случаи не найдены. Ниже приведены изображения, которые я пытаюсь сделать, это взять пользовательскую информацию и загрузите ее в Cloud Firestore. Любая справочная информация будет полезна ![](https://i.stack.imgur.com/sKbtQ.png)