[MUSIC] In this lecture what we're gonna do is we're gonna talk about some of the tools that are required in order to do iOS app development. Now, the thing is that there are gonna be some tools that I need to show you that I'm using. So these are instructor tools. There are three of them that I want to show you. You're not gonna need them, but you're gonna see them. And because you're gonna see them, I want to present them so they don't unnecessarily distract you. There are three of them. The first one's called Alfred 2, the second one's called Mercury Mover and the last one's called ScreenFlow. And oftentimes I have students ask me what these tools are that I'm using, and so just to sort of reduce the mystery, I'm gonna present them to you as we get going. And then I'm gonna show you the tools that you're gonna need as a student after that. So let's start with Alfred 2. Alfred 2 is a application that you can download for a Mac. I use it on my laptop. Here's what the website looks like if you go and try and grab it. It's very similar to Apple's Spotlight application because it enables you to find things on your computer very quickly just by typing things in, and Alfred 2 predictively guesses what you are trying to get and it will open it for you without having to use the mouse and search through Finder. It enables me to find files quickly, and so if while I'm typing you see this search bar comes up, that is being provided by Alfred 2, and that is a search bar that I'm using so that I can find things and for our screencast, right away. If you wanna download it, this is kind of how you go about doing it. What you need to do is go to the App Store. You can open a Finder window under Applications, and go to your App Store. And then, in the upper right, you type Alfred, and you'll find it. And it should have a little bowler hat if you're getting the right thing. And you can install it. The basic version is free. And, once you install it, kind of looks like that, you can open the preference pane for it, and I'm gonna use Alfred right now to kind of show you what the search bar looks like, typing hello this is alfred in it. I'm gonna open the application itself now. And from here you can see that there are a lot of different options that are available for customizing how you find hotkeys. One thing that I like about it is that it enables you to automate some workflows very quickly if you find yourself repeatedly typing things over and over again. All right, so if you see that search bar comes up I'm looking for something on the computer and that application is called Alfred or Alfred 2. The next tool that I wanna tell you about is Mercury Mover. Mercury Mover is available online at a website that looks like that there. And what Mercury Mover enables me to do is do precision window placement. It allows me to put windows exactly where I want. That's especially important when you're teaching in an online format like this, set the windows lineup correctly and can move them to specific places in what you're looking at. Helps me organize the screen real estate. And when I'm using that, you're gonna see this icon here, kind of that move word with the crosshairs in it. We've already seen that in that first video capture that we saw, trying to find Alfred 2. And when I pop that up, what that means is that I'm adjusting windows and putting them in place where you can see them in a way that I think is gonna be effective. If you wanna get Mercury Mover you can do that too. You're gonna do roughly the same thing. You're gonna go to your, in this case, you get it from a browser. And when you're running and download it, go to websites, search for it. And then when you use it, you can see that what I'm doing here is putting a couple of Finder windows up. And I'm using hotkeys in order to make them split the screen. I also have a hotkey to use it to fill the screen as well. Then I can close them, and then what I'll do is I will bring up the Mercury mover preference pane. That's how you control the different options associated with it. And then I will move it into the center of the screens so that you can see what's going on. If you wanna download it to do precision window placement, you can do that too, but I show you that so that when you see that move with the crosshairs show up, you understand what's happening. The last thing that I wanna show is, I wanna show you ScreenFlow. So ScreenFlow is my screen capture software, that's what's recording what's happening on the screen. I'm doing that in addition to, that's before I've done any of the post-production work. And what ScreenFlow does is it's just gonna capture me working on the computer and enable me to do some lightweight video editing before I pass it off to the real video editors at UCI Distance Learning Center, all right? Probably more important to you now that we're getting started is the tools that you're gonna need. The tools that you're gonna need include some kind of computer to do development on. When you're doing iOS application development, you've got to be using a Mac computer in order to do that work. It can be a desktop or it can be a laptop style computer. So far I haven't seen any examples of being able to develop on an iPad or an iPhone. You have to have the Mac OS environment. You're also gonna need an administrator access. Those two things are gonna be necessary so that you can install Xcode, which is the programming environment that we're using to create iOS apps. Xcode runs on the Macintosh and creates application for iOS devices. The other code that we're gonna need to install is Cocoapods. This is an environment that enables you to use programming libraries that have been developed by people outside of the Apple company that you would like to bring into your code in order to do all kinds of different things. So we're gonna use those two things together. So first let me tell you about Xcode. Xcode is an integrated development environment. You'll often hear programmers using the initials IDE to refer to environments like this. Microsoft has their own called Visual Studio. There's an open-source one called Eclipse that works on many different platforms. There's one for doing development in Android as well called IntelliJ. What an integrated development environment is is a single user-interface for doing many different developments in the process of creating a program or an app. It allows you to write code, it enables you to build user interfaces, it enables you to test those apps using a special code that's just trying to make sure that it's doing what it's supposed to be doing, and enables you to manage libraries as well, all within one graphical user environment. Now, Xcode actually has a lot of versions of the features that it uses are accessible to you by using the command line interface, and when I say command line interface what I mean is commands that you type into a program called Terminal. Terminal is typically located within your applications directory under a directory called utilities. When you open it up, you're going to get a screen that you can type in, hit Enter, and you will have some response depending on what you type in. The Terminal application on your Mac is the one that you use, and we're actually gonna see this in a second when we install Cocoapods. And generally, you're not gonna use this, but there are things that we need to use the command line for. Okay. So, in order to install Xcode well, good news. This program is free. And it's free through the Mac store. Apple provides it so that people will develop applications for their platforms. But you gotta be warned beforehand. It is a big download. It's several gigabytes. You have to make sure that you have the time and the bandwidth and the disk space in order to hold it. I'm using a version 7.0 beta4. This is a version that's only available to registered developers right now. What we're hoping is that by the time this course goes live version 7 will be available thru the Mac App Store. Right now if you go to the App Store what you'll see is you'll see something version 6. And version 7 should be coming out soon. If you're a registered developer you can also get version 7 if you want. Don't worry too much if you're working from version 6 and we're working from version 7. Xcode doesn't change drastically from one version to another, especially the user interface. For the most part, you're gonna be able to translate it both back in time to version 6, and likely forward in time to version 8, should that come out some time in the future. All right, to get Xcode, it's pretty straight forward. Open up a Finder window, and you'll see that there I'm using Mercury Mover to fill it up in the screen. Go to your applications directory and open your App Store. Application. App Store is provided by Apple to help you download new programs. And in the search bar in the upper right go ahead and type in Xcode, and what you'll see is you'll see this blueprint and hammer icon come up. And if you click on it you can download it for free. By clicking on it in the App Store you can see screenshots, you can see some reviews, about what it looks like when you download it. And then in the upper right, you can see that it's actually pretty big, several gigabytes in size that are gonna take time to download and take time to install. So make sure you aren't pressed for time when you're trying to install it. But when you're ready to install it you can just install it by clicking there and the download will begin. All right, the next thing we're gonna need is we're gonna need something called Cocoapods. Cocoapods is available through the command line. If you go to the website that describes it, it looks something like that there, and it's a third-party library manager. It enables you to use software from non-Apple providers, libraries for all different kinds of things. So when it's time for us to install it, what we're gonna need to do is we're gonna need to use that command line interface, so we're gonna open a Finder window, go to our applications environment. In my computer under Applications, there's another folder called Utilities. And in the Utilities folder is the Terminal application. I'm gonna double-click it to open it, I'm gonna fill up the screen with it using MercuryMover, I'm going to type a command called clear in order to get rid of the stuff that's on the screen to reduce distraction, then I'm gonna type in this command here. What that's gonnna do is that's going to install Cocoapods from the command line. The command is sudo gem install cocoapods. When I run that, because I'm using the sudo command at the beginning, it's running what follows after the sudo command using administrative privileges. And so it's gonna ask me for my password, which I'm then gonna type in. Then it's gonna run the gem install program. Gem is a program associated with the Ruby programming language. And it's gonna install Cocoapods, which is a collection of different software management routines that will help us when we're developing our iOS applications. Now this is running in real time. And what it's doing as it's running is its going to the Internet and it's checking to see what the latest packages are, it's setting up my environment in order to be ready to run the Cocoapods. And in a few minutes, what we'll see is we'll see that those packages will begin to arrive. Here they come now. It's gonna take a few minutes to download them all. As it's downloading them, it's bringing them in from the Internet and setting them up in my hard drive. It's, in some cases, producing, generating some basic documentation for them. And if everything goes well, we'll get to the end and what we'll see is that it tells us okay and turns us back to the command line. We should see that happen after a few more packages come in here. Okay, there we go. It's all done, worked out well. Cocoapods is now installed on our machine. Okay, so let's summarize what we did in this lecture. What I told you about is I told you about some tools that I'm going to be using for this course. What is Alfred 2? That's that rectangular bar that comes up, and looks like I'm searching for things to open programs to find files. Mercury Mover is a precision window placement utility that you can use both of those as well. ScreenFlow is a screen capture utility that I am using in order to collect this, some of this background video for the class. But the two tools that you need to focus on to get your application running is to download Xcode and to install Cocoapods. We'll talk about Xcode a little bit more in a future lecture. Thanks. [MUSIC]