[MUSIC] Okay. Welcome back. So by now you've had a chance to install Xcode and hopefully you've played around with Playgrounds a little bit. And if you're anything like me maybe you've even gone in and tried to look at an actual Xcode project to see what it actually looks like when you're building an app. There's a lot of stuff going on there. So what I'll do is open up Xcode here and walk you through it, just in case you're curious. So, instead of doing a Playground, this time we're going to create a new X code project. Okay. So what we get when we start a new Xcode project, is first you can select a template. There are several different types of templates for iOS. You can see they're actually kinda based on apps that you might already be using on your iPhone or iPad. So the Master Detail Application is quite similar in structure to something like the mail application on the iPad. It has a menu of folders and items on the left. And when you click on something on the right you see a big window with all the details for that option that you selected. So this template will let you get started with something similar to that structure. On the right, over here, we have the Tabbed Application template, so this would be something like the music app on the iPhone, where you can tap on different tabs on the bottom and it will show you different functions. But what we're gonna actually start with is a Single View Application. This is a great template cuz it's very flexible. And you can take it in really any direction that you want to and if you wanna add for example functionality like tabs later it's flexible enough that you can add that in. You're not limited to just a single-view you can add multiple views to the app so it's a great starting point. So we'll select the single-view application and click next. So it's a little bit more complicated, we're not just giving it a file name. It's gonna ask us for a few more details so that the iPhone can understand what to do with your app and what to call it. So first thing is Product Name. This would definitely be the name for example of the icon on the iPhone. So just give it a descriptive name, doesn't really matter, I'll just call it My Great App for now. Then Organization Name. So I work at the madlab so I'll just call it madlab, but you can give it if you're just practicing just some made up company name. It doesn't really matter. You don't have to register it with Apple. Just give it something that's unique and identifiable. Under that, you have Organization Identifier. This is kind of a usually by convention it's a reverse domain name, so here we have com.madlab. Again it doesn't have to be a real DNS registered domain name, it's just a way for the iPhone to distinguish between different apps that are installed on it. And also if you eventually upload your app to the App Store, it's a way for the app store to identify your app. Again you don't have to register this with Apple, just choose something that you think would be unique, so we can just use the default here, com.madlab is fine. Then you have Language, so we are coding in Swift. The other option would be Objective C, but we'll stick with Swift. And then under Devices, you can select either an iPad only or iPhone only app, or Universal, which would run on either iPhone or iPad. So we'll stick with Universal. And click Next. And now we get to the storage location for this file, we'll just save this one to the desktop since we're just doing a quick intro. And we are not into the main Xcode screen. So this is an actual Xcode project. And it is ready to go. It says basically your first app all ready ready to go. I can click run on the top right here. That's a play button almost just like in iTunes. And when you run it by default, it'll run it in the simulator that's selected. And it'll open it up. Now this app doesn't really do too much. It's just a blank screen. Your goal as a developer is to add stuff to it, but it's a great check just to make sure you have everything up and running. The template should run without any problems. And then to stop the app you can click this stop button back in code or press command period to stop it. That's it, as well. Okay, so what is Xcode? Essentially Xcode is what I would call an integrated development environment. So it's not just a code editor, it has a lot of other stuff that it uses to build your app. The code editor is the probably one thing you'll use most. So, it's similar to the playground code editor, except that it doesn't evaluate your code on the fly as you're typing it. Although it does keep checking it for errors. So, if I type in some garbage here. It will immediately tell me that there is a problem with that without having to compile it. But it doesn't actually evaluate the code until you click this run button or press Cmd+R, which is the keyboard shortcut for running your code. So that's the second part of Xcode that is sort of integrated is the compiler, so when you click run actually Xcode looks at all of your swift code and compiles it and makes into and app. And that's integrated with Xcode as well, it runs in the background. Then next, as part of an integrated development environment, you also have this built in user interface or graphical user interface designer. So this lets you drag and drop user interface elements into a view, user interface design. And that will become part of your app, so you can layout all different kinds of elements, right within Xcode, you don't have to use a separate app to do that. And the next Xcode is also a project management tool, so it actually keeps All the resources related to, keeps references to all the resources that would be needed to build your app. So we have by default a couple different swift files. We have the storyboard, which is the main user interface file. And then maybe a few other supporting files as well, that come along with making an app. You can add more files to this just like the playground, by dragging and dropping, or you can right click on a folder here to add a file. These folders are kinda like playlists in iTunes, they're just organizational folders that let you organize your code. Sometimes you have maybe 100 of files in a project. So you can arrange stuff however you like. Okay, so that's the project management. That's the same navigator window. You can show or hide that just like in the top right corner with the same buttons that were in the playground. There's several other tabs here. There's a search tab that let's you search all of the files for for any text that you're looking for, and then you can also keep track of break points in your code. So break points are ways to stop your code from running at a certain point so that you can debug it and check what's going on to make sure correct values are being stored and see how to fix any problems with your codes and break points are pretty useful for that. And then there are other things like a list of you know compile or issues or errors so if you have a lot of warnings and errors you can go to them one by one and this tab here. But usually, I use switch use the navigator to switch between files. Also, on the right hand side has the same utilities window. So it has the file meta data window here that shows me information about the file I have selected. And it also have the same quick help window here also. So those are some of the main features of Xcode, and I hope you enjoyed this, and I hope you have some time to just jump in and play around with it. Thank you very much.