Tag: 火力

IOS中的Firebase推送通知错误

我已经集成了Firebase推送通知,并正确执行了所有步骤,首先在Firebase中创build项目并创build证书,并将p12文件添加到Firebase项目中。 代码是好的,但是当我在真实的设备上运行应用程序,它显示我在控制台, " You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist. [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled) " 当我从firebase发送任何消息,并从那里select我的应用程序,并单击发送button的应用程序的地方,它显示我未知的应用程序的名称,因为你可以在截图中看到。 我很困惑,我在做错误没有错误即将到来。

有效地确定用户是否喜欢在Firebase中发帖

我有一个应用程序,用户可以喜欢的post,我想确定当前用户以前是否喜欢一个有效的方式发布。 我的数据目前看起来像这样: 我也为每个用户存储喜欢 在我目前的查询中,我这样做: if let people = post["peopleWhoLike"] as? [String: AnyObject] { if people[(Auth.auth().currentUser?.uid)!] != nil { posst.userLiked = true } } 不过,我相信这需要我下载所有的post里的效率不是很高,所以我试了一下: if (post["peopleWhoLike\(Auth.auth().currentUser!.uid)"] as? [String: AnyObject]) != nil { posst.userLiked = true } 第二种方法似乎没有正常工作。 有一个更好的方法吗? 这是我最初的查询: pagingReference.child("posts").queryLimited(toLast: 5).observeSingleEvent(of: .value, with: { snap in for child in snap.children { let child = child […]

Firebase .childAdded和活动指标

当我在API调用之前开始活动指示器并停止之后,我遇到了一个问题,但是如果使用.childAdded填充TableView,则无法正确执行此操作。 由于.childAdded只有在添加子项时才会调用,所以我的活动指标始终在加载。 例如: func parseData() { self.activityIndicator.startAnimating() DataService.instance.SOME_DATA.observe(.childAdded, with: { (snapshot) in if let snapshot = snapshot.value as? Dictionary<String, Any> { let data = someData(data: snapshot) self.array.append(data) } DispatchQueue.main.async { self.tableView.reloadData() self.activityIndicator.stopAnimating() } }) } 所以基本上,如果没有任何价值.childAdded将不会被调用,活动指标将永远不会停止,因为它只有当重新加载tableView时停止。 可以请一些build议如何正确地做到这一点? 非常感激。 根据build议的答案进行一些更新 : 我将举一个基于聊天应用的例子,这会更容易理解。 我有以下的数据库结构: user_messages unique_user_id unique_user_chat_id unique_message_1 unique_message_2 unique_message_3 unique_message_4 messages unique_message_1 text… unique_message_2 text… unique_message_3 […]

有序arrays与Firebase

由于Firebase不能保证在从基础读取时的顺序,我们可以从这个asynchronous调用获得无序的输出: -(void)loadDataFromFirebase { handles = [[NSMutableArray alloc] init]; Firebase* listRef = [[Firebase alloc] initWithUrl:@"https://mobilefeast.firebaseIO.com/foodtrucks"]; [listRef observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) { NSLog(@"%@", snapshot.name); [handles addObject:snapshot.value]; [self.handleTableView reloadData]; }]; } 在从Firebase中读取片段的例子中,我们可以命令打印asynchronous数据,但是对于iOS中的NSArrays来说,这并不适用,其中不存在hole-y稀疏数组。 从iOS的Firebase中按顺序填充数组的正确方法是什么? 我认为这可以通过添加一个.json文件来完成,这个.json文件添加到一个REST调用的URL的末尾,但是想试图使用原生的Firebase iOS API。 谢谢。 * 编辑:*寻找一个简单的字母sorting。 看起来这应该发生在Rest中,并在REST中使用以下URL: https://mobilefeast.firebaseio.com/foodtrucks/.json 但我似乎无法复制与iOS Firebase API相同的顺序。

使用唯一ID推入Firebase

我正在构build我的第一个iOS应用程序,并将Firebase作为我的后端。 我试图将数组存储到我的Firebase后端,如下所示: Firebase* f = [[Firebase alloc] initWithUrl:@"https://test.firebaseio.com/items"]; [f setValue:@{@"UNIQUE OBJECT ID HERE": @{@"meh": @"lol", @"hum": @"kek"}}]; 它按预期工作,但我需要为每个“对象”有一个唯一的ID。 现在,每次运行该方法时,Firebase都会将旧数据replace为新数据。 来自web开发背景,我知道在JavaScript中我会这样做: var ref = new Firebase("https://test.firebaseio.com/items"); ref.push({meh: "lol", hum: "kek")}; 这就产生了预期的结果,因为它给了上面的对象名称“-IuxeSuSiNy6xiahCXa0”。 我如何在ObjC中做到这一点?

如何编写firebase的同步查询调用?

我需要为我的数据执行同步查询,如何在firebase中做到这一点? 我可以findasynchronous调用块的方法。 请指导我。

如何保存来自查询的数据,string数组,Firebase iOS?

我想做一个用户查询,删除每个的名称,并将名称保存在一个数组中,然后将其显示在一个表中。 问题是我不能让他们在和解中,我该如何解决? 因此,我使查询提取用户的名称: var users = [String]() let ref = Firebase(url:"https:mydatabase/users") ref.queryOrderedByChild("name").observeEventType(.ChildAdded, withBlock: { snapshot in if let username = snapshot.value["name"] as! String { self.users.append(username) print("username") } }) 所以我有我的用户表在firebase 用户名var确实有名字,但是当添加var的内容结算时,不会在执行应用程序时抛出任何错误。

Firebase获取数据

我需要从“x”值等于“y”的firebase中获取数据。 我阅读所有的文档,但是我找不到有用的东西来做到这一点。 任何帮助将不胜感激 我需要像这样SELECT * FROM table_name WHERE x = y

如何从数据库中提取用户并使用Firebase将其列在表格视图中?

我正在使用firebase来创build一个iOS应用程序。 我想检索我的数据库中的所有用户,并在表格视图中显示他们的名字和个人资料图片。 这是我的TableViewCell代码: import UIKit import FirebaseDatabase import FirebaseAuth import SDWebImage class HomeTableViewCell: UITableViewCell { @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var profileImageView: UIImageView! @IBOutlet weak var likeImageView: UIImageView! @IBOutlet weak var messageImageView: UIImageView! @IBOutlet weak var likeCountButton: UIButton! var homeVC: HomeViewController? var postReference: DatabaseReference! var post: UserFile?{ didSet { updateView() } } var […]

使用Swift处理Image Store到Firebase

这是我上传到Firebase的方式。 但需要一段时间才能取回。 而且,同时也保存它,这就是为什么我试图不同步的过程。 if imagePathToUpload != nil { let uploadImgPath = Firebase(url:"\(rootURL)/users/\(id!)") let imageData = UIImagePNGRepresentation(image) let base64String = imageData!.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) let imageRef = uploadImgPath.childByAppendingPath("\(path!)") dispatch_async(dispatch_get_main_queue(), { imageRef.setValue(base64String) }) } 图片尺寸是370×370,所以在我看来不应该花那么长时间。 或者我应该在上传之前尝试缩小图像? Firebase处理图片存储的正确方法是什么?