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