Skip to main content
CF

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 the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

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

Course content

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

Related courses

  • iOSExpert thumbnailUpdated 2y ago

    iOSExpert

    By: AlgoExpert
    An unrivaled platform to learn iOS development. Everything you need to ace the iOS interviews. What is iOSExpert? iOS Crash Courses.
    8 hours 32 minutes 43 seconds 5 / 5
  • Thinking in SwiftUI thumbnailUpdated 2y ago

    Thinking in SwiftUI

    By: objc.io
    SwiftUI is radically different from UIKit. In this short book, we will help you build a mental model of how SwiftUI works.
    4 hours 37 minutes 30 seconds
  • SwiftUI thumbnailUpdated 2y ago

    SwiftUI

    By: Kodeco
    A deep dive into getting started with SwiftUI. This course will cover the basics to get you off the ground running before moving on to create SwiftUI interfaces
    3 hours 58 minutes 43 seconds

Frequently asked questions

What is iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram about?
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…
Who teaches iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram?
iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram?
iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram contains 131 lessons with a total runtime of 28 hours 4 minutes. All lessons are available to watch online at your own pace.
Is iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram free to watch?
iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram online?
iOS 14 & Swift Chat Application Like Whatsapp Viber Telegram is available to watch online on CourseFlix at https://courseflix.net/course/ios-14-swift-chat-application-like-whatsapp-viber-telegram. The page hosts every lesson with the integrated video player; no download is required.