Tag: firebase云消息传递

读取Firebase身份validation错误(Firebase 3.x和Swift)

我无法弄清楚如何在新版本的Firebase中读取FIRAuthErrorNameKey。 以下是我到目前为止,但“let errorCode = FIRAuthErrorNameKey”行是​​不正确的。 从阅读Firebase文档,我也尝试访问userInfo中的错误代码,但没有成功,没有想法。 // Send request to Firebase to add user to register user FIRAuth.auth()?.createUserWithEmail(emailTextField.text!, password: passwordTextField.text!, completion: { (user, error) in // Check for errors and respond to user accordingly. if error != nil { let errorCode = FIRAuthErrorNameKey switch errorCode { case "FIRAuthErrorCodeEmailAlreadyInUse": // Add logic accordingly case …: // […]

如何从价值的降序从Firebase获取数据?

我想获得前10名用户的高分,并以表格forms显示。 leaderboards CQVudhI2OjTfNbqWOWi2T1DTWKw2 HIGH-SCORE: 23 PLAYER-NAME: Russell REACTION-TIME: .9 SWIPES: 12 F9IbjpVSE8g5YN3PX0sdhSNGULJ3 HIGH-SCORE: 29 PLAYER-NAME: Clayton REACTION-TIME: .87 SWIPES: 22 HDIHCUSJDHCJHZKSHJXH HIGH-SCORE: 89 PLAYER-NAME: Damien REACTION-TIME: .77 SWIPES: 32 jdhsjdbwkjsdkahnkdnk232j3j2 HIGH-SCORE: 43 PLAYER-NAME: Christopher REACTION-TIME: .99 SWIPES: 32 在表格视图中,我想展示10名得分手的名字和得分。 任何帮助,将不胜感激。 谢谢

表格视图不显示来自Firebase的评论或用户名

这里是我用来从firebase获取用户的评论和用户名的代码显示在我的tableview单元格的意见。 它目前不显示任何内容,但是当我发表评论时,我可以在firebase数据库中看到它。 我只需要读取所有的评论数据并显示它。 func fetchComment() { let ref = FIRDatabase.database().reference().child("Newsfeed").child(itemSelected.title) ref.observeSingleEvent(of: .value, with: { snapshot in if snapshot.hasChild("comments") { ref.child("comments").observeSingleEvent(of: .value, with: {snappy in for comPosted in snappy.children.allObjects as! [FIRDataSnapshot] { let commentPosted = comment() guard let comDict = comPosted.value as? [String: AnyObject] else { continue } commentPosted.commentText = comDict["userComment"] as! String! commentPosted.username = comDict["userId"] […]

Xcode控制台说Firebase没有configuration

我不知道为什么这不起作用我的Firebase已configuration。 这里是我的AppDelegate.swift文件的屏幕截图 。 这是我的控制台日志: 2017-05-29 17:52:53.141 Study M8[31592] <Error> [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add [FIRApp configure] to your application initialization. Read more: https://firebase.google.com/docs/ios/setup#initialize_firebase_in_your_app. 2017-05-29 17:52:53.184 Study M8[31592:1051241] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The default FIRApp instance must be configured before the default FIRAuthinstance can be […]

Swift Firebase的加载logging延迟很长

我正在使用Firebase构build一个Swift应用程序,而我对这两个人都是新手,所以要温和。 目前,当我打开应用程序,它再次同步整个数据库,并导致2或3秒的滞后用户盯着一个空的tableview。 我怎样才能加快速度呢? 有什么想法吗? 我的代码: 我的loadContacts函数 func loadContact(snap : FIRDataSnapshot) -> Contact { let key = snap.key let contact = (snap.value) as? NSDictionary let c1 = Contact( id: (contact?["id"] as? String)!, firebasekey: key, first_name: (contact?["First Name"] as? String)!, middle_name: (contact?["Middle Name"] as? String)!, last_name: (contact?["Last Name"] as? String)!, suffix: (contact?["Suffix"] as? String)!, company: (contact?["Company"] as? […]

使用Firebase同步观察SingleEventOfType

我正在尝试使用信号量强制Firebase数据查询的同步,以便我可以检查数据库中已有的项目。 这是我试图检索快照并检查重复的代码: let sem = dispatch_semaphore_create(0) self.firDB.child("sessions").observeSingleEventOfType(.Value, withBlock: { snapshot in snap = snapshot dispatch_semaphore_signal(sem) } ) // semaphore is never asserted dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER) var isDuplicate : Bool repeat { sID = genCode() isDuplicate = snap.hasChild(sID) } while isDuplicate 在这种情况下,我需要等待快照在isDuplicate循环之前返回,但是信号量绝不会从observeSingleEventOfType块中触发。 任何build议不胜感激。

如何从UITableViewCell使用Swift删除Firebase中的特定子节点

我有一个UITableView看起来像这个图像 。 当我刷卡删除logging,我可以完全从它存储的数组中删除它,但我很难在Firebase中访问它删除它。 我的Firebase数据库结构如下图所示: -KWc7RTuOe5PefiMM2tL bodyPart: "Arms" exerciseName: "Test 1 " userId: "8rHmyTxdocTEvk1ERiiavjMUYyD3" -KWcEbpw_f6kxcePY5cO bodyPart: "Chest" exerciseName: "Test 2 " userId: "8rHmyTxdocTEvk1ERiiavjMUYyD3" -KWcEdUN49QaJIVf0kwO bodyPart: "Legs" exerciseName: "Test 3 " userId: "8rHmyTxdocTEvk1ERiiavjMUYyD3" -KWcFrMSaLKQRxghGHyT bodyPart: "Arms" exerciseName: "Test 4" userId: "8rHmyTxdocTEvk1ERiiavjMUYyD3" 我如何访问创build时设置的autoId值,例如“-KWc7RTuOe5PefiMM2tL”,以便我可以删除该子节点? 或者,也可以根据已login的UserId访问exerciseName值?

如何循环访问并获取Firebase中所有嵌套节点的密钥?

我正在尝试获取Firebase中的嵌套节点的密钥,我不知道如何执行此操作。 例如在这种情况下: 例 我怎么知道2,3,4在1之内? 我正在考虑在firebase中单独列出一个值。 但有没有更聪明的方法呢? 是否有更有效的方式获取Firebase中所有嵌套节点的键?

当您将应用服务器从GCM迁移到FCM时,旧客户端会发生什么?

我正在考虑迁移到FCM。 事情的客户端是相当简单的,你移动一些代码,并完成它。 但是,在应用程序服务器上,我也需要支持较老的客户端,原因很明显。 我需要知道将GCM项目迁移到FCM时会发生什么情况。 FCM是否会自动将消息转发给较早的基于GCM的客户端? 或者我需要将每条消息发送两次,一次发送到FCM,一次发送到GCM? 这将如何影响特定于实现的内容,例如从Firebase的Web控制台发送的消息? 有什么细节我应该知道?

Firebase查询快照为零?

我正在创build一个简单的聊天应用来学习Swift和Firebase。 我有一个查询,检查聊天室的消息加载到一个tableView。 查询返回一个快照,但是我无法正确地存储和加载数据。 我从快照创build了一个字典,所以我可以得到个别的孩子值,但他们返回零: query.observeSingleEvent(of: .childAdded, with: { snapshot in print(snapshot) let indexPaths = self.messages.enumerated().map { IndexPath(row: $0.0, section: 0) } guard let messagesDict = snapshot.value as? [String:AnyObject] else { return } guard let sender = messagesDict["sender"] as? String else { return } guard let text = messagesDict["text"] as? String else { return } guard […]