Real time chat app written in Swift 5 using Firebase

Overview

Quick Chat for iOS

License Swift 5 Twitter: @aslanyanhaik

Quick Chat for iOS is a real time chat app written in Swift 5 using Firebase.

Quick Chat allows to send and receive text messages, photos & location.

Screenshot of Quick Chat for iOS

Getting Started

To get started and run the app, you need to follow these simple steps:

  1. Open the QuickChat workspace in Xcode.
  2. Change the Bundle Identifier to match your domain.
  3. Go to Firebase and create new project.
  4. Select "Add Firebase to your iOS app" option, type the bundle Identifier & click continue.
  5. Download "GoogleService-Info.plist" file and add to the project. Make sure file name is "GoogleService-Info.plist".
  6. Go to Firebase Console, select your project, choose "Authentication" from left menu, select "SIGN-IN METHOD" and enable "Email/Password" option.
  7. Open the terminal, navigate to project folder and run "pod install".
  8. You're all set! Run Quick Chat on your iPhone or the iOS Simulator.

Compatibility

This project is written in Swift 5.0 and requires Xcode 11.0 to build and run.

Quick Chat for iOS is compatible with iOS 13.0+.

Author

License

Copyright 2019 Haik Aslanyan.

Licensed under MIT License: https://opensource.org/licenses/MIT

Comments
  • Although I successfully installed and logged in, the message always shows you seem alone in the world!

    Although I successfully installed and logged in, the message always shows you seem alone in the world!

    Thanks for the great example. But, I do not know exactly how to use it. After I logged in and tried starting conversation, the message always you seem alone in the world. Is there anyone who can instruct how to use the app?

    opened by patrickshih123 16
  • problem in setup project

    problem in setup project

    I am new to the Ios developent and As instructions given in readme file i followed and installed project after updating pods i am getting error in code related to firebase the error is saying that

    "FIRAuth is change to Auth and FIRDatabase change to Database"

    when i try to change FIRAuth to Auth another errors start coming. when i was updating the pod file message was showing that Firebase(4.8.2) was 3.10.0 that may have cause this problem. what would be the possible solution for this problem any suggestion will be helpful.

    opened by d33pak-s1ngh 15
  • Issue with Quick Chat

    Issue with Quick Chat

    Hello. Good program. Just learning swift. I am running Xcode 8.2.1. When I run your program, I get an error - Could not cast value of type 'NSNULL' to "NSDictionary'. Seems to stop in User.swift - Class Func info - let data = snapshot.value as! [String: String].

    Have any ideas

    Thanks,

    Ron

    opened by roncook99 11
  • still can't work

    still can't work

    My friend and I followed all the steps but..... we can register and login, but then nothing. When you want to start a new conversation, "Seems like you are alone in this world". This is the only thing we can see. If you give me your email, I can send you the screen shot. Maybe there are still some big bug...

    bug 
    opened by aa88bb 10
  • App is crashing

    App is crashing

    Hello Aslan,

    Thank you for the amazing app, the app was working fine but it suddenly gave me this error and keep crashing:

    objc[1654]: Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x11a7facc0) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x11a6116f0). One of the two will be used. Which one is undefined. 2017-05-09 21:17:50.435 QuickChat[1654] [Firebase/Analytics][I-ACS023007] Firebase Analytics v.3700000 started 2017-05-09 21:17:50.436 QuickChat[1654] [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r) 2017-05-09 21:17:50.442 QuickChat[1654] [Firebase/Analytics][I-ACS003007] Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist 2017-05-09 21:17:50.458 QuickChat[1654] [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://goo.gl/9vSsPb 2017-05-09 21:17:50.486 QuickChat[1654] [Firebase/Analytics][I-ACS023012] Firebase Analytics enabled ERROR /BuildRoot/Library/Caches/com.apple.xbs/Sources/VectorKit_Sim/VectorKit-1230.34.9.30.27/GeoGL/GeoGL/GLCoreContext.cpp 1763: InfoLog SolidRibbonShader: ERROR /BuildRoot/Library/Caches/com.apple.xbs/Sources/VectorKit_Sim/VectorKit-1230.34.9.30.27/GeoGL/GeoGL/GLCoreContext.cpp 1764: WARNING: Output of vertex shader 'v_gradient' not read by fragment shader

    bug 
    opened by BilalBaydoun 9
  • Compile errors

    Compile errors

    Hi guys,

    Awesome project! I've added the firebase stuff, updated with cocoapods etc, but when i try to compile the project i get 3 errors: Value of type 'StorageMetadata' has no member 'downloadURL' Value of type 'AuthDataResult' has no member 'sendEmailVerification' Value of type 'AuthDataResult' has no member 'uid'

    Anyone know how to solve those issues?

    Tanks

    opened by capumanGib 5
  • Can't see any other users

    Can't see any other users

    I am using Xcode9 beta and iOS 11 beta, running the app will be fine.
    But after I registered 2 users through my email.The avatar, Name, E-mail Label is empty in the leftBarButtonItem in Nav Controller, I don't know why.Also, the feather icon on the right isn't work.
    For example, I logout my user A and login user B, when I click the feather icon it will show my user A by common sense, but it says Seems like you're alone in this world.
    It is very strange, but after waiting for short time, it shows my user A.
    I think that there will be some problem form my network connecting.
    !!!The importing thing is that, even click in the user A, the app crashed when I tried to chat with user A The report are shown as follows:

    Quick Cut -> Model -> User.swift -> (Line 106)downloadAllUsers

    let credentials = data["credentials"] as! [String: String]
    
    Thread 1: EXC_BREAKPOINT (code=1, subcode=0x1010e0fe8)
    fatal error: unexpectedly found nil while unwrapping an Optional value
    2017-09-12 10:54:31.029320+0800 QuickChat[6848:2306995] fatal error: unexpectedly found nil while unwrapping an Optional value
    

    There must be some bugs in the model.HELP Please migrate to the new Xcode version and fix these bugs.Thank you.😁

    opened by iWeslie 5
  • Cannot register user

    Cannot register user

    IMG_1054

    Hi Haik, great job! Only a small bug in the extensions - UIFontExtension.swift, which I have had fixed. But when I ran it, I cannot register a user. Please see the attached screenshot.

    Please take a look at this issue.

    James

    opened by jamesdang 4
  • app message

    app message "seems like you're alone in this world"

    First, Thanks for well made app and I have some issue in this app I maked two Ids at Firebase console Authentication and signed two devices, but messages pop ups to like "seems like you're alone in this world" How to launch correctly without this issue

    opened by junyng 4
  • problem with loading message

    problem with loading message

    This app work well but i found a problem that when you open chat screen and the app load old message, because you use the observer for adding child so it will make the tableview update for each message. So when the conversation have about 1000 message or more (its possible) it call the update function 1000 times, its bad, the app may freeze or crash. Hope you can improve it.

    bug enhancement 
    opened by phucnd0604 4
  • please update read.me

    please update read.me

    I am new to firebase, I guess the readme does not cover the things like creating user database in firebase and other things required for the app to be fully functional

    opened by murali129 3
  • Unable to load

    Unable to load

    Hi,

    I'm new here. just wondering if this has anything to do with the M1 chip:

    Showing Recent Messages Unable to read contents of XCFileList '/Target Support Files/Pods-QuickChat/Pods-QuickChat-frameworks-Debug-output-files.xcfilelist'

    Unable to load contents of file list: '/Target Support Files/Pods-QuickChat/Pods-QuickChat-frameworks-Debug-input-files.xcfilelist'

    Unable to load contents of file list: '/Target Support Files/Pods-QuickChat/Pods-QuickChat-frameworks-Debug-output-files.xcfilelist'

    Thanks.

    opened by harleyseoul 1
  • RealTime DB Schema issue

    RealTime DB Schema issue

    Hello, You have provided an awesome piece of app, very smooth, very nice I have one problem, I have downloaded this app, worked according to given instructions. I'm send messages to users, its working perfect but issue is when I go the realtime database, there is no schema, instead I find a flow in cloud firestore, can you please help whether I'm going wrong or this is just for cloud store, not for realtime database

    Screenshot 2020-09-16 at 4 26 43 PM Screenshot 2020-09-16 at 4 30 28 PM

    opened by AbdulAj 0
  • Not able to see users in app to start conversation

    Not able to see users in app to start conversation

    Hi Team,

    I am able to login to the app and run app on 2 different devices. But I am not able to see any user inside app. I have already enabled Database and Storage on Firebase.

    Following error i am seeing in console in Xcode :- "QuickChat[13279:101534] 6.13.0 - [Firebase/Firestore][I-FST000001] Listen for query at Users failed: Missing or insufficient permissions."

    Xcode :- 11.4 iOS :- 13.4

    Please Help.

    opened by Priyanka-gupta-pcg 0
  • How to check the message was read by receiver user or not?

    How to check the message was read by receiver user or not?

    I want to check the receiver read the sender message or not and as per that I want to show/hide some content in my messageCell.

    I found that current code finds the conversation was read or not by below code but I'm unable to find the code that will identify that particular message was read/unread in conversation

    guard let id = conversation.userIDs.filter({$0 != userID}).first else { return }
            let isRead = conversation.isRead[userID] ?? true
            if !isRead {
                nameLabel.font = nameLabel.font.bold
                messageLabel.font = messageLabel.font.bold
                messageLabel.textColor = ThemeService.purpleColor
                timeLabel.font = timeLabel.font.bold
                
                vwNewMessage.isHidden = false
                constraintHeightOfNewMessage.constant = 24.0
                constraintTrailingOfLatestMessage.constant = 50.0
            }
            else {
                vwNewMessage.isHidden = true
                constraintHeightOfNewMessage.constant = 0.0
                constraintTrailingOfLatestMessage.constant = 10.0
            }
    }
    

    It will be very helpful to me if you guys give me some suggestion to do this.

    opened by StellarKuldeep 0
Releases(2.1)
Owner
Henry Aslanyan
Henry Aslanyan
Real time chat application in Swift 5 using Firebase

Real time chat application in Swift 5 using Firebase

null 1 May 13, 2022
Create a real time chat application in Swift 5 using Firebase

Messenger Real Time Chat App Project to create a real time chat application in Swift 5 using Firebase. Features Facebook Log In Google Sign In Email/P

null 2 May 29, 2022
Anonymous chat app leveraging Google's Firebase, a NoSQL backend and WebSocket for real time data synching

Chaty Chaty is an anonymous chat app that allows millions of users to chat at the same time. Firebase is Google's real time NoSQL Backend as a Service

Terry Wang 369 Nov 26, 2022
Swift-Chat-Application - Swift Chat Application Using Firebase , messagekit

Swift-Chat-Application Using Firebase , messagekit

Metin ATALAY 7 Oct 9, 2022
A chat simulator app that uses FireBase for Authentication and chat storage

Chat-App Description Flash chat is a chat simulator app that uses FireBase for Authentication and chat storage Tools Used - Swift (Programming Languag

Victor Alvarenga 0 Oct 14, 2021
Chat-App - GV Chat App is an iOS app built with Swift

GV Chat App - iOS Explore the docs » Report Bug · Request Feature About The Proj

Cyrus Dumbwani 0 Jan 25, 2022
Fully Functional iOS14 Swift Chat app Using Firebase as backend.

Social Chat Messenger App This iOS14 Chat App is built with Swift in Xcode12 and Using Firebase as backend to authenticate users. Features Light and D

null 0 Nov 25, 2021
A full stack real time messenger clone. Frontend is written in swift, and the backend is written in javascript.

FullStack-Messenger-Project A full stack real time messenger clone. Frontend is written in swift, and the backend is written in javascript. The Fronte

Arkash Vijayakumar 6 Nov 29, 2022
Flash-Chat - Firebase Cloud Firestore, TableViews and Cocoapod Dependencies

Flash-Chat Firebase Cloud Firestore, TableViews and Cocoapod Dependencies What I

null 0 Jan 19, 2022
iOS - Real-time messaging app 🎨

General mChat is a real-time messaging app written in Swift for iOS devices. Since mChat uses a fast and reliable Firebase Database, it receives data

Vitaliy Paliy 569 Nov 28, 2022
Save data to the database, real-time synchronization, user authentication.

Shop List App on development stage... description description description description description ??️ License This project is licensed under the MIT L

Sergey Lukaschuk 0 Nov 2, 2021
Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore.

Integrate third party libraries by using Cocoapods and Swift Package Manager, store data in the cloud using Firebase Firestore. Exercising query and s

WEI 0 Dec 19, 2021
A native iOS video chat app based on WebRTC

AppRTC - iOS implementation of the Google WebRTC Demo About This Xcode project is a native wrapper for the Google's WebRTC Demo. It organizes the WebR

ISBX 1.3k Dec 31, 2022
A chat textbar for iOS inspired in whatssap app

ECMagicBar [![CI Status](https://img.shields.io/travis/Eduard Calero/ECMagicBar.

Eduard Calero 0 Dec 30, 2021
SwiftUIChatApp - SwiftUI Chat App

Simple chat application What is there to notice in this demo-app ? Animations Fi

Mehmet Karanlık 9 Aug 28, 2022
Legacy mobile Rocket.Chat client in Swift for iOS

IMPORTANT: PLEASE READ THIS FIRST Rocket.Chat mobile is moving to React Native. Development on this repository by Rocket.Chat has now ceased. If your

Rocket.Chat 1k Dec 22, 2022
Bluetooth LE Mesh Chat for iOS and Android

BLEMeshChat Bluetooth LE mesh chat prototype for iOS. Android version over here. Goals Use the Bluetooth 4.0 Low Energy APIs on iOS and Android to all

Chris Ballinger 479 Dec 29, 2022
ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.

ChatSecure ChatSecure is a free and open source XMPP messaging client for iOS that integrates OTR and OMEMO encrypted messaging support, and has optio

ChatSecure 3.1k Dec 31, 2022
Starter code for the Flash Chat project in the Complete iOS Development Bootcamp

Flash-Chat Our Goal One of the most fundamental component of modern iOS apps is the Table View. Table Views are used everywhere from the Mail app to t

The App Brewery 45 Jul 30, 2022