Pracujemy z wersją Google Firebase 3.x i natknęliśmy się na dziwny problem z Firebase. Używamy Swift 3.0 i uzyskiwania dane użytkownika, stosujemy następujący fragment kodu:Metoda Firebase 3x nie działa w prawdziwym urządzeniu, ale działa na symulatorze Swift 3.0
func getUserDetails(uid text:String!, userBlock:@escaping (_ details:AnyObject) -> Void) {
//check DB Reference is nil or not.
if self.rootDBRef == nil {
self.rootDBRef = FIRDatabase.database().reference()
}
//check input text must not be empty
if text.trim().characters.count == 0 {
userBlock("" as AnyObject)
return
}
let query = self.rootDBRef.child("users").queryOrdered(byChild: "uid").queryEqual(toValue: text)
query.observeSingleEvent(of: .value, with: { (dbSnapshot) in
guard let snap: FIRDataSnapshot? = dbSnapshot else {
print("No Result Found")
return
}
if snap?.value is NSNull {
//block(found: false)
userBlock("" as AnyObject)
return
}
let dict = snap?.value as! [String : AnyObject]
userBlock(dict as AnyObject)
})
}
że kod nie jest wywoływana w rzeczywistym urządzeniu i nie dostajesz żadnych dzienników błędów, ale ten sam kod działa w symulatorze. Jest to dziwny problem i tak, sprawdziłem już podobne pytanie: Firebase not worked on real devices (iOS)
Próbowałem również wyłączyć BitCode, ale to nie działało.
Używamy urządzenia iOS 9 z Xcode 8. Każda pomoc jest doceniana.
1 : Czy są jakieś inne dane wyjściowe konsoli z zestawów SDK Firebase 2: Czy istnieją jakieś zasady dotyczące twoja baza danych? –
cześć @lan nie, nie ma żadnych danych wyjściowych konsoli i nic, co otrzymujemy z bazy Firebase to najważniejsze rzeczy, dlaczego nie możemy zidentyfikować, w czym jest problem –
@frank van możesz pomóc –