Ich versuche, Benutzer mit diesem Code aus einer Datenbank Firebase zu holen, aber ich bekomme diese FehlermeldungFirebase - die Erlaubnis verweigert, wenn der Benutzer das Abrufen
abbrechen Fehler Fehler Domain = com.firebase-Code = 1 „Zugriff verweigert“ UserInfo = {NSLocalizedDescription = Berechtigung verweigert}
Wie sollten meine Regeln eingerichtet werden?
Hier ist der Code:
FIRDatabase.database().reference().child("users").observe(.childAdded, with: { (snapshot) in
print("snapshot \(snapshot)")
//all users right here n shyt
if let dictionary = snapshot.value as? [String: AnyObject] {
let user = User()
//class properties have to match up with firebase dictionary names
user.setValuesForKeys(dictionary)
self.users.append(user)
DispatchQueue.main.async {
self.messageTable.reloadData()
}
}
print(snapshot)
}, withCancel: { (error) in
print("cancel error \(error)")
})
Dies ist meine Regeln in Firebase:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
Sie wollen auf jeden Fall Code in dem 'withCancel' setzen, wenn die Lese zu erkennen wird abgebrochen. Siehe http://stackoverflow.com/documentation/firebase/5548/how-do-i-listen-for-errors-when-accessing-the-database/24788/detect-errors-when-reading-data-on-ios # t = 201610271759080332703 –
Geben Sie auch Ihre minimale JSON-Baumstruktur an. – Dravidian
Ich habe getan, was Frank sagte zu tun und gehen und Fehler zurück, sagte "Abbrechen Fehler Fehler Domain = com.firebase Code = 1" Berechtigung verweigert "UserInfo = {NSLocalizedDescription = Erlaubnis verweigert}" – user3462448