This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
iOS12 Real Time Chat Application (WhatsApp copy)
Getting Started
Download xCode (4:57)
Welcome View
WelcomeView UI (9:42)
WelcomeView Connections (6:09)
Adding pods (13:02)
Creating firebase project (7:20)
Download Chat Assets
Add ready files to your project (14:01)
Login and register functions part 1 (5:43)
Login user function (7:57)
Register user part 1 (5:17)
Finish registration view
Profile view UI (9:45)
11 ProfileView Connections (8:39)
12 segue from welcome view to finish registration view (7:33)
12.1 Cancel button in finish registration (6:04)
13 Done Button pressed (8:40)
14 registerUser part 1 (10:42)
15 Finish registration function (5:45)
16 Saving our first user (9:02)
17 Register our user (6:29)
18 Testing login function (2:11)
19. autologin (10:46)
20 logout user (12:08)
21 Create more user (3:17)
Displaying users from firebase
22 Users Table View UI (4:48)
23 User Table view Cell part 1 (9:26)
24 User Tableview Cell part 2 (3:09)
25 User TableView Controller part 1 (7:47)
26 User TableView Controller part 2 search tableview (5:14)
27 load users part 1 (10:21)
28 load users part 2 (6:32)
29 load users part 3 (10:26)
30 setting big titles for chats and users (4:12)
31 search users part 1 (7:45)
32 search users part 2 (4:26)
33 search users part 3 split userd into sections (6:27)
34 search users part 4 section titles (6:27)
35 search users part 5 fix error (2:03)
Profile View controller
36 profile view UI (10:30)
37 profile view code part 1 (8:52)
38 profile view code part 2 (14:17)
39 profile view code part 3 update block status (5:23)
40 blockUser function (11:45)
41 change the file structure (2:14)
Recent Chats
42 start Private Chat (7:25)
43 create RecentChats part 1 (10:57)
44 create Recent Chats part 2 (13:50)
45 create first recent chats (6:43)
46 Recent chats custom cell (11:02)
47 recent chat cell code part 1 (6:32)
48 recent chat cell code part 2 (5:35)
49 recent chat cell code part 3 (5:29)
50 Recent chat cell code part 4 (3:47)
Recents Chat View Controller
51 Chats view controller code (tableView functions) (3:58)
52 Chats view controller code (loadRecentsfunction) (11:42)
53 Chats view controller code (display first recent chat) (7:04)
54 custom headerview for group button (14:37)
55 recent avatar tap (8:41)
56 searchRecents (10:45)
57 delete and mute buttons (10:04)
58 delete recent cell (4:11)
59 restart chat (10:55)
Chat View controller
60 chat view controller part 1 (6:30)
61 show chat view (and fix error) (9:05)
62 iphonex constraint fix (7:18)
63 mic button and custom back button (11:17)
64 Send and accessory buttons (2:55)
65 option menu for accessory button (8:18)
66 customSendButton updating (8:24)
67 send message function part 1 (3:50)
Outgoing Messages Class
68 outgoing message class Part 1 (6:24)
69 outgoing message class Part 2 send message (7:48)
70 send textMessage part 1 (5:26)
71 saving 1st text message (9:58)
72 incoming message class (text message) (13:09)
Back to chat view
73 load chats part 1 (7:26)
74 load chats part 2 (10:58)
75 insert messages function (7:32)
76 inserting initial load messages (8:15)
77 JSQMessages dataSource functions part 1 (12:26)
78 timestamp and delivered status part 1 (12:24)
79 timestamp and delivered status part 2 (6:11)
80 fix delivered status error (2:29)
81 listen for new chats (13:09)
82 load old messages (9:23)
83 load earlier messages (12:56)
84 testing load earlier button (1:31)
85 custom headers (7:11)
86 seting custom headers (12:07)
87 setting with Users of our chat (2:59)
88 test runnig to check custom headers (6:30)
89 Camera class and image picker controller (11:33)
90 info.plist permissions (3:33)
Picture Messages
91 upload image part 1 (10:09)
92 upload image part 2 (9:03)
93 send picture message (11:38)
94 sending first pic message (2:38)
95 download image part 1 (9:06)
96 download image part 2 (7:17)
97 create photo image part 1 (photo media item) (10:13)
98 create photo image part 2 create photo message (6:35)
99 test run to receive a picture message (1:44)
Video Messages
100 upload video file (10:16)
101 INITIALIZE VIDEO MESSAGE (4:22)
102 sending video message (11:17)
103 sending our first video message (4:05)
104 download video function (5:10)
105 video Message Class part 1 (11:50)
105.1 video Message Class part 2 (6:57)
106 test run to get first video message (0:47)
107 playing video message (8:28)
108 image message taped (4:19)
Audio messages
109 upload audio function (4:21)
110 AudioRecorderViewController (6:26)
111 presenting audio recorderVC (5:59)
112 sending first audio message (6:52)
113 download audio function (10:14)
114 test run to display audio message (0:45)
Location messages
115 initializing location manager (6:44)
116 initializing location manager part 2 (4:45)
117 check if we have access to location (6:39)
119 send first location message (3:38)
118 location message initializer (3:58)
120 create incoming location message (5:48)
121 receive first location message (1:01)
122 Mapview part 1 (7:33)
123 Mapview part 2 (12:56)
Updating message status
124 listening for updated message status (8:01)
125 saving read status to firestore (6:19)
126 test run read status update (2:46)
Typing indicator
127 create typing observer (6:57)
128 start and stop typing counter (6:34)
129 typing indicator test run (3:31)
130 remove listeners from chatview (2:21)
Chat avatars
131 showing avatars part 1 (12:40)
132 showing avatars part 2 (7:19)
133 JSQAvatarData function (6:20)
134 showing profile view on avatar tap (6:20)
Picture collection view
135 picturesCollectionViewUI (5:56)
136 pictureCollectionView code (13:32)
137 saving media message links in chatvc (6:08)
138 test run to see media view (5:29)
139 error fix (4:13)
Updating Recent chats
140 clear recent counter (9:10)
141 update recents last messages (9:30)
142 muteunmute function (12:41)
143 deleting recent of blocked user (5:03)
144 checking blocked status (10:13)
145 testing block chat functionality (1:31)
146 profile view chat button pressed (1:42)
Delete messages
147 delete message functions (10:02)
148 test run delete function (4:58)
Settings view controller
149 settings UI part 1 (7:43)
150 Settings ui part 2 + connections (5:38)
151 setupUI in settings (5:38)
152 avatar swithch status change (6:38)
153 saving and loading user defaults (6:56)
154 tell a friend and delete action (8:45)
155 delete user function and show login view (4:39)
156 clean cache function (5:05)
157 showing the app version in the settings (7:48)
158 blockedUsersUI (7:23)
159 block users code part 1 (9:46)
160 unblock user from blocked view (8:09)
161 showing notification lebel that no blocked users are available (6:29)
162 background collectionviewUI (5:47)
163 background code (13:10)
164 T&C view (5:18)
165 edit user UI (5:18)
166 edit user code part 1 (10:57)
167 edit user code part 2 (10:26)
168 test run edit user profile (3:02)
Contacts View
Assets
169 contacts view part 1 add assets here (14:20)
170 contacts view part 2 (7:51)
171 contacts view part 3 custom right buttons (6:34)
172 contacts view part 4 load users (10:16)
173 show contacts view from chats VC (7:16)
174 did select row part 1 (9:16)
175 did select row part 2 (5:21)
176 test run users nearby view (2:49)
Group Chats
177 Create group UI part 1 - 2 (13:57)
178 custom collection view class (7:41)
179 NewGroup connections (5:43)
180 NewGroup class part 1 (9:08)
181 NewGroup class part 2 (8:46)
182 NewGroup class part 3 show camera options (6:39)
183 NewGroup class part 4 (4:51)
184 create Group button part 1 (7:14)
185 group class (9:51)
186 creating forst group chat (10:17)
187 group chat recents (8:52)
188 group recent error fix (4:12)
189 show group info in chat (7:50)
190 GroupView UI (9:05)
191 GroupView code part 1 (4:09)
192 GroupView code part 2 setup UI (6:26)
193 invite users view part 1 (11:37)
194 invite users view part 2 (8:31)
195 invite users view part 3 (9:26)
196 presenting invite user vc (6:41)
197 done button function (11:04)
198 update group nameavatar (13:48)
199 show background of chat (10:43)
200 fixint background image size for iphone x (2:35)
208 backround image size fix (1:58)
Encryption
201 encryption (10:14)
202 sending encrypted messages (11:00)
203 sending encrypted messages error information (1:03)
Image picker library
204 image picker fixing the library (11:41)
205 saving user with avatar image (14:37)
206 edit user avatar image (8:08)
207 Group avatars (10:29)
Push Notifications
209 Creating Push notification certificates (10:59)
210 creating oneSignal application (4:37)
211 connecting oneSignal sdk (7:53)
212 start oneSignal and save pushID (6:27)
213 saving pushId on user login (6:40)
214 testing post notifications (3:39)
215 saving pushId of the device to firestore (3:11)
216 push notification functions (16:03)
217 receiving 1st notification (4:18)
218 push notification budge fix (13:42)
219 updating user online status (2:10)
Call View
220 call View UI (6:51)
221 Call class part 1 (9:47)
222 Call class part 2 (6:24)
223 Call class part 3 (5:59)
224 custom call cell functions (6:13)
225 call tableView part 1 (6:15)
226 call tableView part 2 (search filtering) (6:00)
227 call tableView part 3 (load calls) (7:58)
228 saving 1st call (4:52)
229 delete call (4:42)
Call
230 install sinch (10:30)
231 Init sinch and create sinch app (7:01)
232 creating Voip certificate (4:30)
233 Sinch Managed push part 1 (9:00)
234 Presenting missed call notification (4:45)
235Registering for PKPush notifications (8:43)
236 remote notification delegates (6:51)
237 call user interface (12:01)
238 RNCryptor fix (4:47)
239 call viewController part 1 (8:01)
240 call viewController part 2 (10:01)
241 call viewController part 3 (5:22)
242 call viewController part 4 (6:17)
243 call viewController part 5 (11:33)
244 showing call screen (7:20)
245 calling other user (5:49)
246 badge count (10:27)
247 showing badge count (5:50)
248 SINCall notification keys (2:21)
Mobile Authentication
249 mobile auth UI (8:55)
250 mobile outh code part 1 (13:14)
251 mobile outh code part 2 (12:41)
252 Preparing to run on device (8:32)
253 registering user with phone number (3:02)
254 register user with phone number (7:21)
CallKit
CallKit Assets
Adding callKit and fixing push notification badge count (6:12)
80 fix delivered status error
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock