Wenn Benutzer zuerst meine App ausführen, erstellt sie ein anonymes Konto für sie, die, wenn sie sich für die Verwendung von Funktionen höherer Ebene entscheiden, in eine E-Mail umgewandelt werden authentifizierte KontoFirebase-Auth-Linking-Fehler - Benutzer kann nur mit einer Identität für den angegebenen Provider verknüpft werden
-Code für Anon Zeichen in unkompliziert ist (direkt von dem docs genommen)
// No user is signed in.
Auth.auth().signInAnonymously() { (usr, err) in
if (err == nil) {
print("Anon User ID \(usr!.uid)")
} else {
print("Anon auth error \(String(describing: err!.localizedDescription))")
}
}
bei der Registrierung ich ein neues Konto mit E-Mail-Anmeldeinformationen und einen Link zu dem anonymen Konto erstellen wie so
Auth.auth().createUser(withEmail: email, password: password) { (user, err) in
if (err != nil) {
print("Error registering \(String(describing: err!.localizedDescription))")
} else {
let credential = EmailAuthProvider.credential(withEmail: email, password: password)
Auth.auth().currentUser!.link(with: credential, completion: {(user, err) in
if (err != nil) {
// Error
} else {
// Linked
}
})
})
Problem ist jedes Mal, wenn ich das bekommen
und ich keine Konten auf alle
Konten, anonym und E-Mail-Auth in Firebase registriert „Benutzer kann nur eine Identität für den entsprechenden Provider verknüpft wird“ sind erfolgreich erstellt, aber kann nur nicht verknüpfen