Skip to main content
CourseFlix

iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram

28h 4m 10s
English
Paid

This course shows you how to build a full chat app in iOS 14 with Swift. You build the app step by step. You learn how each part works and how it fits together. In the end, you have a working chat app you can use on your phone.

What You Build

You create a chat app that works like WhatsApp or Viber. You add real features that people use every day.

Main Features

  • One‑on‑one chat
  • Chat channels
  • Photo, video, audio, and location messages
  • Push notifications
  • Firebase user login
  • Firebase Storage
  • Firebase Firestore
  • Firebase Cloud Messaging
  • Custom collection views
  • Custom table views
  • Git version control
  • Many other iOS and Swift skills

Who Should Take This

This is not a beginner course. You should know the basics of Swift and Xcode. You should also know how to build simple apps on your own.

We start the app from scratch. You see every step, and all assets are included. The course is about 35 hours long. You write each part of the code and learn why it works.

What You Learn

You learn how to write clean code and organize your project. This helps you understand your code even years later. You also pick up many useful iOS skills, even if you already build apps.

About the Author: udemy

udemy thumbnail

Udemy is a global online marketplace for teaching and learning. It connects students with instructors who share skills in many fields.

Who Uses Udemy

Millions of learners use Udemy to gain skills for work and personal growth. Companies, governments, and nonprofits also use Udemy to train their teams.

What Udemy Offers

Udemy provides a curated set of business and technical courses. These courses help teams build practical skills and support ongoing learning at work.

Watch Online 131 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 131 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Getting Xcode
All Course Lessons (131)
#Lesson TitleDurationAccess
1
Getting Xcode Demo
04:38
2
Create xcode project
04:05
3
Installing cocoapods
21:24
4
Login View UI
18:28
5
Connecting UI to code
12:10
6
Updating placeholder labels
15:00
7
Login sign up animations
11:07
8
Show notifications for data input
16:20
9
User Struct
17:41
10
Firebase User listener part 1
21:35
11
Firebase User listener part 2 (Registration)
15:13
12
Firebase User listener part 3 (Login)
18:13
13
Resend Password and Verification email
12:44
14
Login and go to app function
06:06
15
Autologin
08:24
16
Creating all tabs for the app
05:52
17
Settings UI
18:44
18
Settings View Setup
17:20
19
Log out user function
07:22
20
Edit profile UI
11:20
21
Edit Profile view
10:43
22
Saving user changes to firebase
09:07
23
Implementing Gallery
16:48
24
Upload Avatar
22:40
25
Saving Files Locally
10:53
26
Download Image Part 1
13:58
27
Download Image Part 2
13:58
28
Make Circle image
15:05
29
Status Table View
17:51
30
Show Status in table
17:12
31
Users Table view Cell
12:19
32
Creating Dummy Users
16:34
33
Downloading Users function
12:23
34
Searching Users
14:24
35
Refresh Controller
07:40
36
Profile View UI
11:32
37
Profile View code
14:30
38
Recent Cell and Struct
16:12
39
Recent chat cell part 1
13:14
40
Recent chat cell part 2
10:04
41
Start Chat functions
15:12
42
Create Recent chats
23:04
43
Saving recent to firebase
05:40
44
Testing create recent functions
07:43
45
Download recent chats
09:26
46
Showing recent chats and searching
13:36
47
Delete recent chat
14:53
48
Reset recent counter
09:50
49
Showing chat room
20:54
50
Showing chat room from Profile view
02:43
51
Configuring Message View
21:04
52
Implementing chat extensions
10:32
53
MKSender and MKMessage
16:01
54
Local Message Class
10:24
55
MKMessage Initializer
08:35
56
Input Bar Delegates
06:50
57
Realm Manager
06:53
58
Outgoing messages
20:34
59
Saving Messages in Realm
14:35
60
Saving Messages to firebase
10:04
61
Loading Chats from Realm
10:44
62
Listening for changes in Realm
08:38
63
Incoming Messages
13:08
64
Showing Messages in chat view
05:57
65
Message cell labels
21:43
66
Message bottom Label
03:18
67
Setting Custom Title
17:10
68
Setting text, background color and tail of the message
09:54
69
Updating microphone button
06:04
70
Getting Old chats
13:40
71
Listening for new chats
10:12
72
Test Run New chats
10:19
73
Showing load early messages
10:45
74
Implementing Loading more messages
18:10
75
Typing Listener class
12:41
76
Creating typing object
12:29
77
Testing Typing indicator
05:07
78
Updating recent with new chats
12:26
79
Update Message Read Status
05:02
80
Call update read status function
11:07
81
Listen for read status changes
12:39
82
MKMessage read status update
08:10
83
Fixing bug with infinity loop
12:59
84
Adding action sheet for multimedia messages
14:53
85
Showing gallery
16:56
86
Sending picture message
16:33
87
Receiving and showing picture message
16:45
88
Sending video message part 1
20:01
89
Sending video message part 2 (upload video)
12:12
90
Receive and show video message
19:39
91
Show picture and video on message tap
13:52
92
Location Manager class
11:47
93
Sending location message
13:59
94
Receiving location message
07:11
95
Map View Controller
10:13
96
Showing Map view and adding pin
10:42
97
Add Gesture recognizer for audio messages
14:37
98
Audio Recorder class
18:25
99
Recording Audio message
09:09
100
Sending Audio Message
14:17
101
Download and show audio message
14:35
102
Adding play function to audio messages
16:31
103
Basic Audio Player explained
05:39
104
Channels UI
17:07
105
Connecting UI to code
07:10
106
Channel Model and channel cell
18:25
107
Setup Channel table view data source
09:12
108
My Channels and Add Channel view UI
10:04
109
Add Channel part 1
17:21
110
Add Channel Part 2 upload avatar
09:18
111
Save channel to firebase
11:13
112
Download User Channel
09:19
113
My Channels table view controller
16:42
114
Channel editing
12:46
115
Show edit channel details
09:10
116
Test Editing channel
06:29
117
Download Subscribed and All channels functions
12:19
118
Download and show channels
07:40
119
Pull to reload chats
16:36
120
ChannelDetailTableView
20:43
121
Channel Detail Delegate
13:35
122
Unfollow channel
15:24
123
Channel Chat View
27:03
124
Sending Channel Chats
21:20
125
Fixing date label for message
07:18
126
Creating certificates
14:32
127
Registering app for push notifications
14:17
128
Send test push notification
08:57
129
Push notification service
13:39
130
Send push notifications from the app
11:21
131
Removing budge after reading messages
05:26
Unlock unlimited learning

Get instant access to all 130 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription