# Firebase Tutorial: Real-time Chat

**URL:** <https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379>\
**Category:** 🎓 Courses & Articles\
**Created:** [August 1, 2018, 1:01pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379 "2018-08-01T13:01:22Z")\
**Posts on this page:** 16\
**Page:** 5

<div class="post-metadata">

**Author:** ![theversatile](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/theversatile/32/79544_2.png) [@theversatile](https://forums.kodeco.com/u/theversatile)\
**Post date:** [December 6, 2018, 12:06am UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/83 "2018-12-06T00:06:29Z")

</div>

Hi ! Thanks for this very helpful tutorial 👌

I am now trying to build an app out of it and I was wondering how I could do to **segue from the ChannelsViewController to another View**. I tried from the LaunchScreen.storyboard but it seems that I have to do it programmatically…

So is there a way to do it with the interface builder or programmatically from the toolbar or the navigation bar ? It’s been 3 days I’m searching a way to do it but didn’t found yet.

Thanks again ✌

---

<div class="post-metadata">

**Author:** ![naturaln0va](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/naturaln0va/32/105148_2.png) [@naturaln0va](https://forums.kodeco.com/u/naturaln0va)\
**Post date:** [December 10, 2018, 7:00pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/84 "2018-12-10T19:00:29Z")

</div>

Hello, I’m glad you enjoyed the tutorial! I created the sample project for the tutorial without storyboards. To present the channels view or the char view you need to do it programmatically in code, instead of a segue. To present another view, like a settings view controller, from the channels view controller use `UIViewController.present(_:animated:completion:)`. You can programmatically access a storyboard in code by setting an identifier inside the view controller. Then you can present another view from a button or whatever you’d like.

I hope that helps!

---

<div class="post-metadata">

**Author:** ![theversatile](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/theversatile/32/79544_2.png) [@theversatile](https://forums.kodeco.com/u/theversatile)\
**Post date:** [December 11, 2018, 11:20am UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/85 "2018-12-11T11:20:14Z")

</div>

Hello,

Okay I’ll try that way ! Thank you 👌

---

<div class="post-metadata">

**Author:** ![sameer](https://s3.amazonaws.com/cdn.raywenderlich.com/community/forum-assets/noun-game-ghost-878668.png) [@sameer](https://forums.kodeco.com/u/sameer)\
**Post date:** [December 13, 2018, 11:16am UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/86 "2018-12-13T11:16:39Z")

</div>

if your are using swift 4 then you can use

private func registerForKeyboardNotifications() {  
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(\_:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)

```
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide(_:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)

```

}

---

<div class="post-metadata">

**Author:** ![naturaln0va](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/naturaln0va/32/105148_2.png) [@naturaln0va](https://forums.kodeco.com/u/naturaln0va)\
**Post date:** [December 13, 2018, 3:37pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/87 "2018-12-13T15:37:53Z")

</div>

This won’t work as expected. You need to call `.UIKeyboardWillShow` and `.UIKeyboardWillHide` respectively. Using `.UIKeyboardDidShow` to call `self.keyboardWillHide` will hide the UI when the keyboard is completely shown. You only need to use `.UIKeyboardWillShow` and `.UIKeyboardWillHide`.

---

<div class="post-metadata">

**Author:** ![miladinho](https://s3.amazonaws.com/cdn.raywenderlich.com/community/forum-assets/noun-game-ghost-878668.png) [@miladinho](https://forums.kodeco.com/u/miladinho)\
**Post date:** [December 19, 2018, 2:07am UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/88 "2018-12-19T02:07:26Z")

</div>

Hello,

When trying to archive the finished tutorial, I get a code signing error. Any insight into this? I do not change anything about the project when archiving. ![16%20PM](https://files.chunter.kodeco.com/original/3X/0/6/06d0ddea8f92683cd9d307fa80b440c0151f107a.jpeg)

---

<div class="post-metadata">

**Author:** ![naturaln0va](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/naturaln0va/32/105148_2.png) [@naturaln0va](https://forums.kodeco.com/u/naturaln0va)\
**Post date:** [December 19, 2018, 4:40pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/89 "2018-12-19T16:40:02Z")

</div>

I just checked and it’s working for me.

I downloaded a fresh copy of the tutorial materials, I ran `pod install`, I changed the bundle identifier, and I selected my team for the automatic code signing.

If you didn’t follow those steps, try doing so. If it still doesn’t work, please explain in detail all the steps you did and where you came across an issue.

I hope that helps.

---

<div class="post-metadata">

**Author:** ![vicecityvandal](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/vicecityvandal/32/79544_2.png) [@vicecityvandal](https://forums.kodeco.com/u/vicecityvandal)\
**Post date:** [February 10, 2019, 1:03am UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/90 "2019-02-10T01:03:07Z")

</div>

Getting this error →

Value of type ‘MessagesCollectionView’ has no member ‘isAtBottom’

On ChatViewController

---

<div class="post-metadata">

**Author:** ![shogunkaramazov](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/shogunkaramazov/32/108826_2.png) [@shogunkaramazov](https://forums.kodeco.com/u/shogunkaramazov)\
**Post date:** [February 10, 2019, 9:15am UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/91 "2019-02-10T09:15:44Z")

</div>

@naturaln0va Can you please help with this when you get a chance? Thank you - much appreciated! :]

---

<div class="post-metadata">

**Author:** ![naturaln0va](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/naturaln0va/32/105148_2.png) [@naturaln0va](https://forums.kodeco.com/u/naturaln0va)\
**Post date:** [February 12, 2019, 1:38pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/92 "2019-02-12T13:38:13Z")

</div>

Hello, I’m sorry you’re having trouble. So I can help you out, at which point in the tutorial do you experience this issue? I just tried downloading the sample project and running the starter and everything seems fine. `isAtBottom` is a computed property that can be found in **UICollectionView+Additions.swift**. However, the description of your error makes me think that something isn’t right with the CocoaPods setup.

---

<div class="post-metadata">

**Author:** ![dorambor](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/dorambor/32/79544_2.png) [@dorambor](https://forums.kodeco.com/u/dorambor)\
**Post date:** [February 15, 2019, 10:19pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/93 "2019-02-15T22:19:02Z")

</div>

Hi,

I’m not sure if this is an error on my end or what, but when I download the materials for this course I only get a few byte large .xcworkspace files that refuse to open. Everything else works fine (I assume) so I’m not really sure what’s up. Any ideas?

Dora

---

<div class="post-metadata">

**Author:** ![naturaln0va](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/naturaln0va/32/105148_2.png) [@naturaln0va](https://forums.kodeco.com/u/naturaln0va)\
**Post date:** [February 15, 2019, 10:32pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/94 "2019-02-15T22:32:07Z")

</div>

Hello Dora,

You have to run `pod install` to configure the project with the necessary libraries to connect to Firebase and such.

What step of the tutorial are you stuck on?

---

<div class="post-metadata">

**Author:** ![dorambor](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/dorambor/32/79544_2.png) [@dorambor](https://forums.kodeco.com/u/dorambor)\
**Post date:** [February 15, 2019, 11:08pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/96 "2019-02-15T23:08:25Z")

</div>

I’m not actually able to open the project to begin the tutorial, this is the the error I get after trying to open the project after installing the pods

![33%20PM](https://files.chunter.kodeco.com/original/3X/5/5/55156e67708dc165153dbe591e01fb5ce49f0075.png)

---

<div class="post-metadata">

**Author:** ![naturaln0va](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/naturaln0va/32/105148_2.png) [@naturaln0va](https://forums.kodeco.com/u/naturaln0va)\
**Post date:** [February 16, 2019, 2:13am UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/97 "2019-02-16T02:13:49Z")

</div>

This is a strange error, it seems like something got corrupted. Can you re-download the materials, then try installing the pods again. Also make sure to open **RWRC.xcworkspace** and not **RWRC.xcodeproj**.

---

<div class="post-metadata">

**Author:** ![shogunkaramazov](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/shogunkaramazov/32/108826_2.png) [@shogunkaramazov](https://forums.kodeco.com/u/shogunkaramazov)\
**Post date:** [February 19, 2019, 3:54pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/98 "2019-02-19T15:54:58Z")

</div>

This tutorial is more than six months old so questions are no longer supported at the moment for it. Thank you!

---

<div class="post-metadata">

**Author:** ![shogunkaramazov](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/shogunkaramazov/32/108826_2.png) [@shogunkaramazov](https://forums.kodeco.com/u/shogunkaramazov)\
**Post date:** [February 19, 2019, 3:55pm UTC](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379/99 "2019-02-19T15:55:01Z")

</div>



[Previous page](https://forums.kodeco.com/t/firebase-tutorial-real-time-chat/45379.md?page=4)
