1
00:00:07,720 --> 00:00:14,960
What's up everyone joining me here with slopestyle and we are about to embark on this journey of creating

2
00:00:14,960 --> 00:00:18,500
this chat up hope you guys are as excited as I am.

3
00:00:18,530 --> 00:00:21,750
So let's go ahead and just jump right into it in this video.

4
00:00:21,750 --> 00:00:23,730
We're just going to do some project set up.

5
00:00:23,750 --> 00:00:29,690
We're going to put our assets set up our Coco paws take a look at the designs and figure out the direction

6
00:00:29,690 --> 00:00:30,260
that we want to go.

7
00:00:30,260 --> 00:00:30,760
All right.

8
00:00:31,010 --> 00:00:34,110
So we're going to start out creating our brand new project.

9
00:00:34,210 --> 00:00:35,490
We're going to open up X code.

10
00:00:35,490 --> 00:00:43,220
I'm in current using the X code nine beta to beta two has been out for a couple of weeks so hopefully

11
00:00:43,220 --> 00:00:45,150
we'll be getting a new one pretty soon here.

12
00:00:45,530 --> 00:00:54,230
And I'm just going to go to file new project is going to drag this over to my screen here and we're

13
00:00:54,230 --> 00:00:58,130
going to do a single view app is fine go the next product name.

14
00:00:58,140 --> 00:01:08,300
I'm going to call this SMAC and team is none is fine organization is whatever you want to call it organization

15
00:01:08,300 --> 00:01:09,180
identifier.

16
00:01:09,290 --> 00:01:16,040
If you have a web site then they encourage you to use that in DNS which is the reverse domain name service

17
00:01:16,030 --> 00:01:19,310
for that com dot whatever your web site is.

18
00:01:19,460 --> 00:01:24,550
And then so that's that and then so then your bundle identifier will be com dot dot dot.

19
00:01:24,560 --> 00:01:25,640
Smack in my case right.

20
00:01:25,670 --> 00:01:28,340
So if you don't have a Web site that's fine.

21
00:01:28,370 --> 00:01:30,100
Just put a unique identifier.

22
00:01:30,190 --> 00:01:36,100
Languages of course going to be swift and we are not using Core data or unit tests or tests.

23
00:01:36,230 --> 00:01:37,240
In this project.

24
00:01:37,400 --> 00:01:40,080
So then we can just go ahead and say next.

25
00:01:40,530 --> 00:01:46,040
And I'm going to just create this here on the desktop make sure that you have create good repository

26
00:01:46,400 --> 00:01:50,050
checked because you should always always be using version control right.

27
00:01:50,270 --> 00:01:57,530
So when I say create and we're just going to set up a few things to get going here I'll go ahead and

28
00:01:57,530 --> 00:02:02,630
put in a team here here in the deployment info.

29
00:02:02,630 --> 00:02:05,680
We're only going to be using this in portraits.

30
00:02:05,740 --> 00:02:12,890
Uncheck the landscape left and landscape right just so we don't have to worry about landscape auto layout

31
00:02:12,890 --> 00:02:15,260
and constraints and that kind of stuff.

32
00:02:15,380 --> 00:02:22,420
And then the next thing that I'm going to do is actually set up this project with our depth slopes bitbucket

33
00:02:22,430 --> 00:02:23,550
repo Okay.

34
00:02:23,780 --> 00:02:29,270
So I'm not going to be able to show you that but I will show you how to do it with a test project here

35
00:02:29,270 --> 00:02:33,590
in just a second so I'll be right back home and I'm going to set this up with our get with our bitbucket

36
00:02:33,610 --> 00:02:34,630
repo.

37
00:02:34,670 --> 00:02:34,920
All right.

38
00:02:34,930 --> 00:02:35,570
So I'm back.

39
00:02:35,570 --> 00:02:43,840
I just set the remote repo for this project to our team of slopes a repository on that bucket.

40
00:02:44,070 --> 00:02:48,330
But like I said I am going to show you how to do that for yourself.

41
00:02:48,380 --> 00:02:54,170
So here I have a an empty new brand new repo.

42
00:02:54,280 --> 00:02:56,570
So I'm going to show you how to do it for yourself.

43
00:02:56,570 --> 00:02:57,950
OK Sue.

44
00:02:58,050 --> 00:03:08,780
Well we're going to do is I'm going to create a quick little test project here to say new project will

45
00:03:08,790 --> 00:03:17,020
be to get project say next create get repository.

46
00:03:17,480 --> 00:03:23,000
OK so this is just to show you how to set up your repository for the very first time.

47
00:03:23,160 --> 00:03:30,440
So the team so what you can do is you're going to go to the terminal and they bump this up you get a

48
00:03:30,440 --> 00:03:40,610
CD into your repo for your project Tarrant's CD to get to the desktop and say ls and CD and what did

49
00:03:40,610 --> 00:03:48,470
we call this project so a little tip here if you start typing in the name of your directory and then

50
00:03:48,470 --> 00:03:55,740
press tab once you get to the point where your directory is unique it will automatically fill it out.

51
00:03:55,860 --> 00:04:01,350
If for instance you for instance you have a bunch of files that begin with the same word like I have.

52
00:04:01,430 --> 00:04:03,080
I have several folders here.

53
00:04:03,080 --> 00:04:08,750
When I was creating the smack app if I do smack you see that it will auto correct up to the point where

54
00:04:08,750 --> 00:04:14,010
it becomes an unique so that you can see that I have smack smack assets smack Alpha et cetera.

55
00:04:14,150 --> 00:04:21,050
So then from there you need to do a little bit more to get to a unique position.

56
00:04:21,050 --> 00:04:26,600
So here if I do smack space OK and then do that doesn't work because of the space but you smack dash

57
00:04:27,020 --> 00:04:29,200
smack a and then do it then I get it back out.

58
00:04:29,210 --> 00:04:31,030
But anyways that's just a little tip.

59
00:04:31,230 --> 00:04:33,890
They're going to come back here and get project.

60
00:04:33,890 --> 00:04:38,330
So now we are inside of the director for this test project that I just created.

61
00:04:38,330 --> 00:04:44,820
And if we do get status you'll see that we have some changes that we could commit.

62
00:04:44,880 --> 00:04:54,760
So I'm going to say Get add that I get to commit to him and I'm going to say start her project again

63
00:04:55,130 --> 00:04:59,960
and then if I do get branch that will show the branch that we are currently on.

64
00:04:59,960 --> 00:05:00,260
All right.

65
00:05:00,260 --> 00:05:09,060
So this is a master branch now when you create your repository with or when you initialize using get

66
00:05:09,070 --> 00:05:13,630
with your project you start out with a master branch and that's just local All right.

67
00:05:14,080 --> 00:05:20,860
So you have a local master branch but you know you don't always want to just rely on having things locally.

68
00:05:21,010 --> 00:05:24,010
So that's why services like get hub and bitbucket exist.

69
00:05:24,160 --> 00:05:30,400
You could do all of the Get version control on your own computer and have that be you know that's still

70
00:05:30,400 --> 00:05:32,800
a good thing to do version control on your own computer.

71
00:05:33,010 --> 00:05:39,100
But if you want to share or you want to collaborate or just have for security reasons you know if your

72
00:05:39,100 --> 00:05:45,700
computer crashes and you still you could still have all of your code up on on an online repository.

73
00:05:46,000 --> 00:05:47,410
So that's what we're going to do here.

74
00:05:47,410 --> 00:05:50,450
So we are currently in our directory.

75
00:05:50,590 --> 00:05:54,900
We know we have a master branch and it's got all of its changes up to date and everything.

76
00:05:54,900 --> 00:05:59,420
So if you get status it'll say you had nothing to commit working tree clean.

77
00:05:59,420 --> 00:06:07,250
So we are ready to upload our local master branch to our online repo.

78
00:06:07,270 --> 00:06:09,080
And that's what I did with the deciles one.

79
00:06:09,190 --> 00:06:18,220
But I'm sure you had to do that here as well to come back here to the bucket and I just created a throwaway

80
00:06:18,370 --> 00:06:23,140
project repo here and it says here get started with command line.

81
00:06:23,140 --> 00:06:28,190
So step one is to switch to your repositories directory which we have just done.

82
00:06:28,390 --> 00:06:37,470
And step two is to add a to connect your existing repository to bitbucket.

83
00:06:37,870 --> 00:06:40,870
So that's called having an origin.

84
00:06:40,880 --> 00:06:41,420
OK.

85
00:06:41,590 --> 00:06:50,380
So the remote is the bitbucket part and then the origin is this repots I going to say get remote and

86
00:06:51,310 --> 00:07:00,790
origin and then they give us right here the U R L that we're going to use for this particular repo when

87
00:07:00,810 --> 00:07:02,580
it in the terminal.

88
00:07:03,000 --> 00:07:06,010
And I'm going to add to that.

89
00:07:06,070 --> 00:07:08,600
All right so now we should have.

90
00:07:08,740 --> 00:07:13,140
So that makes the connection between our local and our online repo here.

91
00:07:13,300 --> 00:07:20,920
So then I can actually push up our master branch to our online repo's and we say get push Dasch you

92
00:07:21,140 --> 00:07:26,330
origin so the saying push to origin and then you say which branch you want to push.

93
00:07:26,580 --> 00:07:32,530
So we're going to push our master press get pushed SU origin faster and then it's going to ask you to

94
00:07:32,530 --> 00:07:32,970
put in.

95
00:07:32,970 --> 00:07:37,400
If you set this up with SS h I'll ask you for your password.

96
00:07:37,420 --> 00:07:40,660
So you just enter that and you won't see any dots or anything show up.

97
00:07:40,660 --> 00:07:46,300
So don't worry if you're if you're not seeing any of that just entered in like normal then press enter

98
00:07:47,200 --> 00:07:51,820
or Linus's branch master was set up to track remote branch master from origin.

99
00:07:51,820 --> 00:07:59,590
So if we come back over here and we do a refresh then you'll see that we have successfully added it.

100
00:07:59,600 --> 00:08:02,110
We have one branch here and there isn't to read me.

101
00:08:02,130 --> 00:08:07,850
So you could create a read me on this but if we come over here to our Master branch we can click on

102
00:08:07,850 --> 00:08:14,630
that and you see here you can look at your source code and we just have I mean there's not a whole lot

103
00:08:14,630 --> 00:08:16,670
because this is just the dummy project.

104
00:08:16,670 --> 00:08:22,080
You can see your commits and see what was added and what was changed.

105
00:08:22,080 --> 00:08:29,990
All right so yeah just kind of a little side track to show you how to set up your own online repositories

106
00:08:29,990 --> 00:08:32,270
and link them up with your local projects.

107
00:08:32,270 --> 00:08:32,750
OK.

108
00:08:32,900 --> 00:08:37,780
So hope that was a good little sidetrack for you guys.

109
00:08:38,090 --> 00:08:45,830
So I'm going to close out that repo and then I'm also going to close out this test project and we will

110
00:08:45,830 --> 00:08:47,430
continue on with our SMAC app.

111
00:08:47,450 --> 00:08:48,140
OK.

112
00:08:48,500 --> 00:08:51,970
All right so we got our projects set up you know opened up.

113
00:08:51,970 --> 00:08:57,120
So next thing we're going to do is we're going to look at our assets.

114
00:08:57,120 --> 00:08:57,640
OK.

115
00:08:57,680 --> 00:09:04,980
So with this section you should get a pretty big folder of assets called SMAC assets and here inside

116
00:09:04,990 --> 00:09:13,220
of it we have the app icons we have the mockups we have a couple of supporting files in the form of

117
00:09:13,220 --> 00:09:19,930
our host w reveal view controller files and we have our actual x code assets.

118
00:09:19,970 --> 00:09:20,540
All right.

119
00:09:20,840 --> 00:09:24,710
So let's go ahead and take a look at our mockups first so I'm just going to add these are just some

120
00:09:24,720 --> 00:09:25,370
screenshots.

121
00:09:25,370 --> 00:09:29,010
I'm just going to open them all up and we'll take a look at them and talk about it.

122
00:09:29,330 --> 00:09:35,110
All right so you saw how it works in our in the in the last video.

123
00:09:35,240 --> 00:09:40,550
So this is just kind to kind of look through the screenshots and kind of talk about what we're going

124
00:09:40,550 --> 00:09:41,790
to be looking at.

125
00:09:41,990 --> 00:09:48,560
So you know we're going to be we're going to be working with two main controllers for for most of the

126
00:09:48,560 --> 00:09:52,190
app which is going to be the chat window which you see right here.

127
00:09:52,730 --> 00:10:00,270
And then the other one is the is the channels and the menu window.

128
00:10:00,270 --> 00:10:00,800
OK.

129
00:10:01,080 --> 00:10:06,020
So in the in the chat we're going to have a table view going have a label down here so that you can

130
00:10:06,020 --> 00:10:08,190
enter messages.

131
00:10:08,330 --> 00:10:13,880
If we click here it's going to open up the open up the side menu where we have a list of the channels

132
00:10:13,910 --> 00:10:17,210
as well as a profile info.

133
00:10:17,270 --> 00:10:21,680
We can log in using email and password.

134
00:10:21,760 --> 00:10:28,800
We are able to create accounts and then when we create account we have the option of using creating

135
00:10:28,810 --> 00:10:32,500
it with an avatar with a background color as well.

136
00:10:32,690 --> 00:10:37,410
We have a screen that will show the profile info and also let you log out.

137
00:10:37,940 --> 00:10:41,180
And then we have a screen that we can use to create channels.

138
00:10:41,180 --> 00:10:41,800
All right.

139
00:10:42,140 --> 00:10:45,080
And then this kind of just shows what it looks like when you're actually typing.

140
00:10:45,090 --> 00:10:48,710
We have a custom button that will let us send the messages.

141
00:10:48,980 --> 00:10:51,160
So take take a look at these.

142
00:10:51,170 --> 00:10:55,790
Take a look through these and this will help you orient yourself into what it is exactly that we're

143
00:10:55,790 --> 00:10:57,620
going to be working on throughout these videos.

144
00:10:57,620 --> 00:10:58,210
OK.

145
00:10:58,640 --> 00:10:59,840
So that looks good.

146
00:10:59,840 --> 00:11:04,080
Next thing I want to do is actually import our X code assets.

147
00:11:04,130 --> 00:11:10,640
So I'm going to go over here and back into our project click on the assets folder and then come back

148
00:11:10,640 --> 00:11:20,100
in here X code assets and go ahead and just select all of these and drag them right into here.

149
00:11:20,120 --> 00:11:20,300
All right.

150
00:11:20,300 --> 00:11:20,990
That looks good.

151
00:11:21,030 --> 00:11:26,230
Now we have all of our assets that we're going to be using throughout the project imported.

152
00:11:26,420 --> 00:11:32,050
And I just wanted to make a quick note of the naming of our avatars.

153
00:11:32,090 --> 00:11:37,620
So they are named dark and then an integer from 0 to 27.

154
00:11:37,640 --> 00:11:42,830
So there are in total 28 and they are in dark and light formats.

155
00:11:42,830 --> 00:11:43,340
Okay.

156
00:11:43,670 --> 00:11:50,060
And so we named them dark zero through 28 and like 0 through 28 on purpose because we'll be able to

157
00:11:50,060 --> 00:11:55,340
use that naming convention to add them to our collection view very easily.

158
00:11:55,330 --> 00:11:56,140
All right.

159
00:11:56,570 --> 00:12:01,790
So the next thing that we're going to do is talk about our cocoa pods that we're going to be using.

160
00:12:02,000 --> 00:12:09,030
All right so there are two different ways that we can initiate or add our cocoa pods.

161
00:12:09,060 --> 00:12:15,620
There's using the old school way with terminal and cocoa pods and then there and Bakugan has actually

162
00:12:15,620 --> 00:12:21,500
just recently released a cocoa pods app that you can get at Cocoa pods.

163
00:12:21,510 --> 00:12:24,240
Dot org let me see if I can just pull it up real quick.

164
00:12:26,320 --> 00:12:33,920
Let's see here go to Cocco PASOK org and then go to app and you can download the app.

165
00:12:34,050 --> 00:12:39,160
It's actually pretty nice and makes it really easy to quickly add cocoa pods.

166
00:12:39,210 --> 00:12:42,350
So I'm going to actually show you how to do it with this app.

167
00:12:42,420 --> 00:12:42,860
OK.

168
00:12:42,990 --> 00:12:44,660
So go download that.

169
00:12:44,670 --> 00:12:51,570
And then once you've got to go to just open it up cocoa pods right here and then what you're going to

170
00:12:51,570 --> 00:12:57,050
do is you're going to come up here to file new pod files from X code project.

171
00:12:57,340 --> 00:13:02,910
OK and then what we're going to do is we're going to go to our desktop and go to our folder and select

172
00:13:02,910 --> 00:13:04,670
the X code project.

173
00:13:04,680 --> 00:13:10,300
So if you're not familiar with cocoa pods what they are is kind of a plug in.

174
00:13:10,410 --> 00:13:18,510
Basically what it does is that it's a precompile or a pre-configured library of code that does a specific

175
00:13:18,510 --> 00:13:19,450
thing usually.

176
00:13:19,570 --> 00:13:26,370
You can add into your project and take advantage of all of that code that has been written and tested

177
00:13:26,400 --> 00:13:29,160
and done by someone else.

178
00:13:29,160 --> 00:13:36,630
Now that's being said you do want to be careful about how many and the quality of the cocoa pods that

179
00:13:36,690 --> 00:13:41,230
you add to your project some of them are not super well-maintained.

180
00:13:41,250 --> 00:13:43,850
Some of them you know aren't trustworthy.

181
00:13:44,070 --> 00:13:49,720
So just make sure that you're look that you're getting composit are you know have good ratings look

182
00:13:49,740 --> 00:13:55,680
like they are well-maintained et cetera are going to be using three in this project and they're all

183
00:13:55,980 --> 00:13:57,800
very well maintained and documented.

184
00:13:57,810 --> 00:13:58,450
OK.

185
00:13:58,860 --> 00:14:07,920
So I'm going to click on open here and the three cookbooks that we're going to be using is Alamo fire

186
00:14:09,380 --> 00:14:12,990
Swiftie Jaison and Succot IO.

187
00:14:13,070 --> 00:14:13,530
OK.

188
00:14:13,830 --> 00:14:15,650
So what do each of those do.

189
00:14:15,730 --> 00:14:19,300
L.M. fire is a library built on top of you or else session.

190
00:14:19,320 --> 00:14:26,490
That makes it a lot easier to work with web requests doing things like downloading data posting data

191
00:14:26,490 --> 00:14:34,000
to web sites etc. and then a slight update in this video for the pods that we're going to be using.

192
00:14:34,060 --> 00:14:42,330
We're going to use specific versions of Elmo's Fire and Swiftie Jaison So one type in pod Alamo fire

193
00:14:43,020 --> 00:14:51,000
were in use for point five point zero and the other part we're going to use is Swiftie Jason like so

194
00:14:52,820 --> 00:15:00,540
three point 1.4 and you can specify the specific version numbers by putting the comma and then the version

195
00:15:00,540 --> 00:15:01,720
number afterwards.

196
00:15:01,920 --> 00:15:04,200
And just make sure you don't put a comma at the end of these.

197
00:15:04,350 --> 00:15:08,910
Otherwise you'll get a error when you're doing your part install stall and then we're going to say pod

198
00:15:09,990 --> 00:15:11,470
socket dot.

199
00:15:11,640 --> 00:15:17,060
I know Desch client dash swift like so.

200
00:15:17,580 --> 00:15:19,320
And that's just going to pull the latest version.

201
00:15:19,320 --> 00:15:24,990
And the reason for these changes is because some of the libraries have the newest versions have changed

202
00:15:25,380 --> 00:15:30,750
how they work with swithe because some of the language has changed and will install these slightly older

203
00:15:30,750 --> 00:15:33,630
but still perfectly functional libraries here.

204
00:15:33,630 --> 00:15:38,040
So you can build the application and that's all you got to do.

205
00:15:38,250 --> 00:15:40,520
And then you just press install.

206
00:15:40,800 --> 00:15:48,990
Well go ahead and close this project because from now on after you install cocoa pods you will use the

207
00:15:48,990 --> 00:15:49,790
workspace.

208
00:15:49,800 --> 00:15:54,190
So an open backup your folder and then open the workspace.

209
00:15:54,210 --> 00:15:58,950
So from now on we're going to always be working in this workspace here.

210
00:15:58,950 --> 00:16:06,690
All right so next thing that we're going to do is talk a little bit about X code 9 and swift 4 and how

211
00:16:06,690 --> 00:16:10,500
that works with some of these other libraries.

212
00:16:10,770 --> 00:16:22,710
So in the dark days of the swift to two swift 3 migration and X code 8 beta it was a nightmare because

213
00:16:23,340 --> 00:16:31,590
the changes that they made going to 53 were so drastic and huge that everything broke lots of cocoa

214
00:16:31,590 --> 00:16:38,260
pods lots of libraries everything broke and so there was this huge scramble to try and get things in

215
00:16:38,270 --> 00:16:43,730
line with two or three but they continued to make breaking changes all through the beta period.

216
00:16:43,980 --> 00:16:47,610
And so it is a really hard time to be teaching and to be using these types of things.

217
00:16:47,970 --> 00:16:54,540
Fortunately as you probably know since you're taking this course X code nine ants with four just came

218
00:16:54,540 --> 00:16:54,760
out.

219
00:16:54,810 --> 00:17:01,800
But they made it they made this a lot easier to do to have this migration.

220
00:17:01,950 --> 00:17:08,970
Because what they've done is they allowed to have your working project be in swift for your targets.

221
00:17:09,090 --> 00:17:10,550
For instance your cocoa pods.

222
00:17:10,770 --> 00:17:13,660
They can be in swift three point two.

223
00:17:13,980 --> 00:17:21,930
And so these cables that we just use they are into a three point two if you're taking this course well

224
00:17:21,930 --> 00:17:28,880
into the future and we'll make an update video these Coque about might have migrated to swift for by

225
00:17:28,880 --> 00:17:34,090
then but right now they make it really nice to be able to have your project in school for you.

226
00:17:34,120 --> 00:17:41,360
So if three point two for you or for your cause and other targets and it works seamlessly it works perfectly.

227
00:17:41,360 --> 00:17:41,970
All right so what.

228
00:17:42,000 --> 00:17:47,060
But we do need to specify which language we want to use.

229
00:17:47,090 --> 00:17:52,170
So here in SMAC This is our current project which we won't be coding in school for.

230
00:17:52,280 --> 00:17:58,520
And so we're going to do is go to build settings and way down here at the bottom where sits with compiler

231
00:17:58,520 --> 00:17:59,270
language.

232
00:17:59,270 --> 00:18:00,630
It's already set to four.

233
00:18:00,660 --> 00:18:01,620
And so that's good.

234
00:18:01,880 --> 00:18:03,080
But our iPods.

235
00:18:03,170 --> 00:18:07,690
So come over here and click on Pod's and then other targets we have Alamo fire.

236
00:18:07,790 --> 00:18:11,900
And but we want we want our pods to be working with swift 3.2.

237
00:18:12,190 --> 00:18:14,190
I said Come down here too.

238
00:18:14,280 --> 00:18:19,610
So if language version and change that to with 3.2 for Alamo fire socket.

239
00:18:19,760 --> 00:18:23,620
Oh and Swiftie Jason.

240
00:18:24,090 --> 00:18:26,230
All right so now when I build this.

241
00:18:26,390 --> 00:18:31,790
Fingers crossed this should compile just fine and should build just fine.

242
00:18:42,780 --> 00:18:44,400
All right there we go build succeeded.

243
00:18:44,400 --> 00:18:46,560
So that's all working well.

244
00:18:46,680 --> 00:18:53,220
The last thing that we're going to do and get configured here in this set up video is we are going to

245
00:18:53,250 --> 00:19:00,690
add the S-W reveal files that we are going to need to make that awesome slide out menu.

246
00:19:00,690 --> 00:19:01,170
All right.

247
00:19:01,380 --> 00:19:08,290
So go ahead and open up the browser and search for S-W Freeville.

248
00:19:08,460 --> 00:19:15,950
Drag this over here and the result should be the get hub of John Lewis.

249
00:19:15,960 --> 00:19:23,940
Sorry if I'm saying her name incorrectly but all you got to do is go to clone or download or alternately

250
00:19:25,170 --> 00:19:28,960
inside of the assets that we have provided you.

251
00:19:29,130 --> 00:19:34,280
There is a folder for S-W reveal and the two files that you need are also right here.

252
00:19:34,500 --> 00:19:42,990
But if you want to get them from the Qutub repository just do clone download and download the zip and

253
00:19:43,020 --> 00:19:46,180
then see here.

254
00:19:46,290 --> 00:19:49,180
Open up the folder.

255
00:19:49,200 --> 00:19:57,540
All right so once you got it open let's jump back into X code and then back to Finder.

256
00:19:58,080 --> 00:20:03,420
And what we're going to do actually let them create a new group real quick when we create a new group

257
00:20:03,420 --> 00:20:08,190
called supporting files where we're going to add these files.

258
00:20:08,280 --> 00:20:08,760
OK.

259
00:20:08,910 --> 00:20:15,930
So if you downloaded it then you're going to come here to S-W review a few controller and open that

260
00:20:15,930 --> 00:20:21,720
up and you're going to grab these two files and you're going to drag them into your project here under

261
00:20:21,720 --> 00:20:28,370
supporting files and then we're going to say copy items if needed add to targets and say finish.

262
00:20:28,380 --> 00:20:33,360
And then it's going to pop up and say Would you like to configure an Objective-C bridging header.

263
00:20:33,480 --> 00:20:34,430
So this is very important.

264
00:20:34,440 --> 00:20:38,450
You want to create a bridging hitter's have click on Create bridging header.

265
00:20:38,650 --> 00:20:46,510
Ok so what this does is the bridging header allows X code to seamlessly work with code and objective

266
00:20:46,500 --> 00:20:49,470
c code in the same project.

267
00:20:49,470 --> 00:20:49,960
OK.

268
00:20:50,190 --> 00:20:55,920
And but one more thing that we need to do to allow that to work is in our bridging header.

269
00:20:56,070 --> 00:21:01,450
Here we are going to do an important two pound or hash tag import.

270
00:21:01,760 --> 00:21:11,550
And then you're going to say quote quotes and see w reveal the you can troller each.

271
00:21:11,730 --> 00:21:20,460
And what this does is this just lets us get access to the methods and functions that the that are programmed

272
00:21:20,460 --> 00:21:22,570
in the Objective-C files.

273
00:21:22,580 --> 00:21:23,090
All right.

274
00:21:23,200 --> 00:21:24,500
Let's just say that.

275
00:21:24,510 --> 00:21:26,580
And let's do one more test to build this.

276
00:21:26,580 --> 00:21:28,860
Make sure everything is looking good.

277
00:21:29,820 --> 00:21:31,970
And we have a successful build.

278
00:21:31,980 --> 00:21:41,230
Got a bunch of warnings here because the S-W reveal controller is not with Swit for its objective seis

279
00:21:41,250 --> 00:21:43,380
was asking as hey do you want to convert this to before.

280
00:21:43,380 --> 00:21:44,170
No we don't.

281
00:21:44,490 --> 00:21:49,080
So I'm just going to click on this and I'm going to say convert later and I'm going to uncheck the Remind

282
00:21:49,080 --> 00:21:52,680
me convert later on already.

283
00:21:52,830 --> 00:21:55,650
So we are all set up.

284
00:21:55,650 --> 00:21:58,110
We have added our assets.

285
00:21:58,110 --> 00:22:05,680
We have set up our bit bucket repo and we have added our cocoa pods set this with version added are

286
00:22:06,240 --> 00:22:08,490
to be review all files.

287
00:22:08,490 --> 00:22:12,540
So we are good to go to jump into our next lesson.

288
00:22:12,690 --> 00:22:20,340
And at the end of each lesson hopefully I remember I'm going to commit our changes and just to just

289
00:22:20,340 --> 00:22:24,030
to get you guys into the practice of constantly using version control.

290
00:22:24,210 --> 00:22:28,170
OK so we really encourage you to be using a version control.

291
00:22:28,170 --> 00:22:30,240
And so I'm going to jump out of our.

292
00:22:30,300 --> 00:22:35,180
This is this was our start a project so I'm going to only clean this.

293
00:22:35,570 --> 00:22:42,570
We're going to go to our desktop and then CD into this smack.

294
00:22:42,740 --> 00:22:48,560
And if you do get status you'll see what we've changed you can see here we added a bridging header a

295
00:22:48,630 --> 00:23:01,150
bunch of pop stuff so to say get and get commit dash em and I'm going to say end of less than one game.

296
00:23:01,170 --> 00:23:09,650
So what does get Add do add adds all of the changes and any new files that we have created or added

297
00:23:09,870 --> 00:23:16,620
and the period just says added all and then committing is kind of like saving those changes and the

298
00:23:16,620 --> 00:23:22,740
dash is just a message to make it easier for if you're going back through your different commits that

299
00:23:22,740 --> 00:23:26,740
you've made you can easily figure out which one you want to rewind back to.

300
00:23:26,750 --> 00:23:27,170
Right.

301
00:23:27,390 --> 00:23:31,010
And so just a couple more words on the importance of version control.

302
00:23:31,200 --> 00:23:33,200
You know why do we do it.

303
00:23:33,240 --> 00:23:39,930
Because it's for safety you know sometimes you'll have you'll be working on a project and you made a

304
00:23:39,930 --> 00:23:41,440
whole bunch of changes.

305
00:23:41,890 --> 00:23:42,970
And everything is looking good.

306
00:23:42,990 --> 00:23:48,880
But then you do something that breaks everything and you can figure out what went wrong.

307
00:23:48,930 --> 00:23:52,590
And so now your project is just screwed.

308
00:23:52,590 --> 00:24:00,780
So if you haven't been doing frequent comments and using version control you might and you might be

309
00:24:01,140 --> 00:24:04,270
totally out of luck with that project you might have to start completely over.

310
00:24:04,320 --> 00:24:09,900
But if you've been using version control like a good little programmer then you can just get rid of

311
00:24:09,900 --> 00:24:11,220
those.

312
00:24:11,340 --> 00:24:18,030
Get rid of some of those changes and rewind to a working commit that you know is actually working well.

313
00:24:18,060 --> 00:24:18,810
All right.

314
00:24:18,850 --> 00:24:21,480
So right now we're on master and just a couple more words.

315
00:24:21,480 --> 00:24:23,060
You shouldn't actually be working.

316
00:24:23,080 --> 00:24:25,420
Your development changes in M..

317
00:24:25,530 --> 00:24:31,290
You should create a new branch off of master called develop and then develop you should actually be

318
00:24:31,290 --> 00:24:36,720
creating new branches for each new feature that you're implementing this way you have you're protecting

319
00:24:36,720 --> 00:24:40,210
your master branch and you're protecting your develop branch.

320
00:24:40,230 --> 00:24:44,260
And so once you make a bunch of changes then you'll change then you'll do.

321
00:24:44,580 --> 00:24:49,350
Then you have a code review and you'll merge that into develop and eventually when you're ready to make

322
00:24:49,350 --> 00:24:54,210
like a new release on your app then you'll merge all of those changes from development to master and

323
00:24:54,210 --> 00:24:56,490
you'll release your app off of that.

324
00:24:56,580 --> 00:25:03,300
So just just a little bit of you know some some some reasons for why we use version control and why

325
00:25:03,300 --> 00:25:04,060
it's so important.

326
00:25:04,060 --> 00:25:04,490
OK.

327
00:25:04,590 --> 00:25:08,550
So I hope you guys are ready for the next VDU and getting working on this.

328
00:25:08,550 --> 00:25:10,080
All right so I'll see you then.
