Create a Swift iOS Chat App from Scratch

Use Swift to create an awesome iOS Chat App
3.2 (77 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
984 students enrolled
Take This Course
  • Lectures 36
  • Contents Video: 4.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 1/2015 English

Course Description

Adding more security to protect user data

Security and privacy are becoming more and more important to App users. A trustworthy chat application is therefore obliged to protect it's user data to the best of its abilities.

In a completely new section you are going to learn how to use ACLs (Access Control Lists) and Roles to protect your users' data.

1,5 h new video material

Since this is a community course, the requests of the participants resulted in 1,5 h of additional video material.

New features:

  • editable user data (profile image, first name, last name, ...)
  • unread messages indicator

A Community Course

This course is all about communication. We are going to create an awesome Chat App that will include features like push notifications and real time updates.

This course is also completely about you. When you have completed this course you will have created a fully working Messaging App. However this will not be the end.

Share your ideas on how to enhance the Community Chat App even further in the Course Discussion Board. The course community is going to vote for new features that should be implemented. For the most popular feature requests I am going to release new Videos every month.

Course Abstract

After outlining the challenges we are facing when creating a messaging application we are going to compile all the resources we are going to need to create our CommunityChat App. Using Parse as a backend service, we will then start developing a possibility for users to login and register for the CommunityChat.

As important as a way to register to a messaging service is an intelligent way to find users that we want to talk to. So we will also implement a great search feature.

The core of our CommunityChat App is of course a great user interface for exchanging messages. After setting up a iMessage-like UI we will focus our efforts on efficiently loading and sending messages.

Since there is no way around a real time feeling when it comes to text messaging, we will add support for push notifications into our app.

What are the requirements?

  • To integrate remote push notifications an Apple Developer account is required

What am I going to get from this course?

  • create a chat app from scratch
  • handle remote push notifications
  • use sophisticated parse features
  • secure user data
  • apply best practice iOS development concepts

What is the target audience?

  • Take this course if you have a basic understanding of programming and the swift language
  • Take this course if you want to experience the development of a real world app
  • Take this course if you want to integrate a messaging feature within your own app

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Welcome and Take Off
Hello Community Chat App
Analysing the problems behind a Chat Application
A bundle of resources
Section 2: Project setup

Here you will find all the resources for the App that will not be downloaded from the Internet. You will also find the completed Community Chat Xcode project here.

Adding the rest of the resources
Setting up the user interface
Section 3: It's all about the users
Add your first user - All about signing up
Signup and Login
Finding users in the database
Section 4: All about Chat Rooms
Creating Chat Rooms
Displaying Chat Rooms
Section 5: The Core of the App - Messages ViewController
Basic setup
Some Theory about our Database
Loading and Sending Messages
Remaining Settings
Connecting the Chat Rooms
Finishing Touches of the Overview
Section 6: Push Notification Setup
Push Notification Basics
Adding Push notifications to our App
Section 7: Let's push our Chat Messages
Sending and Receiving Push Notifications
Custom Notification Sound and Realtime Experience
Finishing Touches
Section 8: To boldly go ... #1
Improving Community Chat
Section 9: New Features 1: Adding more user data
New Features
Creating a new UI for the Sign Up process
Integrating new SignUpViewController with current User Interface
Let's face it: Adding profile images
Completing the new Sign Up process
Section 10: New Features 1: Integrating profile images in current UI
Profile images for Chat Room Overview
Adding profile images to the Chat itself
Time for a change: editing profile data
Section 11: New Features 1: Unread messages
Prepare the UI to show unread messages
Implementing the logic to display unread messages
Section 12: To boldly go ... #2
Improving Community Chat
Section 13: New Features 2: More Security with ACLs and Roles
Understanding the current security issues
Adding security features to the App

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

I wrote my first line of code at the age of 10 by creating the simplest form of a Hello World Application within the Visual Basic Editor of Microsoft Word. For many years, programming was completely about the journey for me.

Starting off with Visual Basic and earning money by creating Access Databases for many clients was nice, but not the driving force behind my wish to know more about creating software.

After switching to the Mac, I started developing with Java, C++, and later ActionScript 3.0. After school I used my expertise in different scientifically used big data applications. My work was all about visualisation of large amounts of data and therefore creating the best user experience possible.

Although I do love programming, I chose a different path for my professional carrier. By becoming an educator I could follow my second passion which is sharing knowledge. Today and especially since the release of the iPhone SDK in 2008 my interest in programming mainly is focused on creating iOS Apps for educational use and finding ways to create software that can be used in classroom, at universities and by students themselves to make learning a great experience. Although my passion lies in educational software, I am also doing client work from time to time, which does not only include the development of iOS Applications but also the implementation of different iOS development trainings.

Ready to start learning?
Take This Course