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)
Teach online with
Register user part 1
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock