0 1 00:00:00,900 --> 00:00:05,130 All right. So in this lecture, we're going to be covering some of the tools that you'll need in terms 1 2 00:00:05,130 --> 00:00:08,790 of software and hardware to start developing for iOS. 2 3 00:00:10,290 --> 00:00:13,590 First and foremost, you will need a Mac of some sort. 3 4 00:00:13,860 --> 00:00:19,560 Now, it doesn't have to be the latest or the greatest, but it just has to be able to run OS 10. 4 5 00:00:19,890 --> 00:00:22,130 So it's now called macOS. 5 6 00:00:22,470 --> 00:00:27,240 And the reason why we need macOS is because we need to install a piece of software called Xcode that 6 7 00:00:27,240 --> 00:00:29,440 will allow us to develop our iOS app. 7 8 00:00:29,730 --> 00:00:34,020 So this means that iPads, even iPad pros are out of the question. 8 9 00:00:34,710 --> 00:00:42,140 But if you had a iMac or if you have a MacBook or even a Mac Mini, it will work just fine. 9 10 00:00:42,510 --> 00:00:48,960 So if you don't already have a Mac and you don't want to invest a lot in, you know, brand spanking 10 11 00:00:49,170 --> 00:00:54,600 new top of the range MacBook, then one of the cheapest ways is probably just going onto eBay and getting 11 12 00:00:54,600 --> 00:00:57,960 a second hand Mac mini for around 500 dollars. 12 13 00:00:57,960 --> 00:01:01,050 And it's a pretty great deal and it'll do just fine. 13 14 00:01:02,070 --> 00:01:03,810 But what do you do if you only have a PC? 14 15 00:01:03,900 --> 00:01:07,500 Well, the other option is that you can go for something called MacinCloud. 15 16 00:01:07,830 --> 00:01:14,160 So if you head over to macincloudcom, they have a service where essentially they offer you a 16 17 00:01:14,160 --> 00:01:21,930 Mac in the cloud. So you can be using your PC and you have a remote connection to a Mac that is just 17 18 00:01:21,930 --> 00:01:22,340 for you. 18 19 00:01:22,620 --> 00:01:27,470 And it's already got Xcode pre-downloaded so you can just get up and go. 19 20 00:01:27,600 --> 00:01:35,820 Now there's a lot of people who ask about Hackintosh or how can you run a Mac, sort of dual-boot a Mac on your 20 21 00:01:35,820 --> 00:01:40,350 PC without having to pay for a service like Macincloud. 21 22 00:01:40,680 --> 00:01:42,930 Well, there's a number of ways that you can do this. 22 23 00:01:42,930 --> 00:01:49,620 But one of the major downsides is that Apple is very strict about controlling their software and the 23 24 00:01:49,620 --> 00:01:51,380 environment in which their software runs. 24 25 00:01:51,720 --> 00:01:59,490 So even if you're using Macincloud, even if you're using a Hackintosh solution, you won't be able to 25 26 00:01:59,490 --> 00:02:03,230 run your app on a physical iPhone device that you own. 26 27 00:02:03,810 --> 00:02:10,410 The only way that you can do that is by having an actual Mac, but you will be able to run it on a simulator 27 28 00:02:10,410 --> 00:02:11,630 inside Xcode. 28 29 00:02:11,850 --> 00:02:15,660 So this is a simulated version of an iPhone. 29 30 00:02:15,930 --> 00:02:19,650 And for all intents and purposes, it will work just as well. 30 31 00:02:19,950 --> 00:02:24,750 It's just say, if you're really excited about having your app on your iPhone, then you really need 31 32 00:02:24,750 --> 00:02:29,840 to find a way of either borrowing somebody's Mac or, you know, getting one cheaply. 32 33 00:02:30,630 --> 00:02:35,670 The best resource, according to past students, is a website called a Hackintosh 33 34 00:02:35,670 --> 00:02:42,150 .com talked in detail about how to run Mac OS on a PC, but I would still recommend try out some of 34 35 00:02:42,150 --> 00:02:46,440 the earlier solutions rather than going towards building a hackintosh. 35 36 00:02:47,250 --> 00:02:52,290 It's just that we've had a lot of students on the in-person programming Bootcamp who've tried to do 36 37 00:02:52,290 --> 00:02:55,110 this, and it's always given them a lot of headaches. 37 38 00:02:55,320 --> 00:03:00,450 So if you can, really try and avoid this, this is almost the last-ditch solution. 38 39 00:03:01,440 --> 00:03:07,530 Now, the software that you'll be using is Xcode, and this is a piece of software that's written by 39 40 00:03:07,530 --> 00:03:14,760 Apple and allows you to write code, allows you to design your app as well as run your app within the 40 41 00:03:14,760 --> 00:03:16,770 simulator that it comes with. 41 42 00:03:17,010 --> 00:03:18,360 And this is completely free. 42 43 00:03:18,360 --> 00:03:22,860 And in the next lecture, we'll be showing you how to download it and how to get it set up. 43 44 00:03:23,670 --> 00:03:30,000 But in order to be able to download the latest version of Xcode, which is Xcode 12, you're going to 44 45 00:03:30,000 --> 00:03:35,640 need to update your operating system to at least Mac OS Catalina 10.15. 45 46 00:03:36,150 --> 00:03:40,200 If you're already running Mac OS Big Sur, that's fine as well, of course. 46 47 00:03:40,200 --> 00:03:47,760 But note that Mac OS Catalina 10.15.4 is currently the minimum requirement to run 47 48 00:03:47,760 --> 00:03:48,690 Xcode 12. 48 49 00:03:49,080 --> 00:03:54,000 So if you find that you are unable to download it, it might be because you need to update your Mac 49 50 00:03:54,000 --> 00:03:55,860 OS operating system first. 50 51 00:03:56,880 --> 00:04:02,700 To check which version of OS you're running is super simple. Simply just head to the left upper corner 51 52 00:04:02,700 --> 00:04:07,530 where you've got the Apple symbol, and then go to about this Mac, and you should be able to see the 52 53 00:04:07,530 --> 00:04:09,020 versioning right there. 53 54 00:04:10,460 --> 00:04:15,950 In order to update the latest version of Mac OS, all you have to do is head over to the Apple symbol 54 55 00:04:15,950 --> 00:04:21,710 again, go to system preferences and then go to software update. Here 55 56 00:04:21,720 --> 00:04:27,140 you should be able to see the update for Mac OS Katalina and you can simply click through the wizard 56 57 00:04:27,260 --> 00:04:29,750 to update your Mac OS. 57 58 00:04:30,140 --> 00:04:36,380 Now, another thing to note when you're updating your Mac OS is to check the age of your laptop or your 58 59 00:04:36,380 --> 00:04:42,530 desktop because there are certain hardware requirements in order for us to be able to install the latest 59 60 00:04:42,530 --> 00:04:43,960 version of Mac OS. 60 61 00:04:44,270 --> 00:04:47,540 So here I've included a list that Apple has given. 61 62 00:04:47,870 --> 00:04:52,420 So check your computer against this one to see if you meet the requirements. 62 63 00:04:52,610 --> 00:04:58,400 But if you do have any difficulties updating your Mac OS, then this might be one of the reasons. 63 64 00:04:58,610 --> 00:05:04,700 And if this happens to you, it might be that you have to go down the Macincloud route or you might 64 65 00:05:04,700 --> 00:05:08,140 just have to pick up a cheap version of a Mac mini off eBay. 65 66 00:05:08,480 --> 00:05:11,950 But that's a tip that tripped up some people when they're updating their OS. 66 67 00:05:12,350 --> 00:05:18,320 So when you're testing your app, you've got the choice of either testing it on a physical device if 67 68 00:05:18,320 --> 00:05:20,620 you own an iPhone or an iPad. 68 69 00:05:20,930 --> 00:05:25,910 So because the course is aimed at teaching you how to make apps for iPhone, a lot of the design that 69 70 00:05:25,910 --> 00:05:31,760 you'll be making and a lot of the project stubs will have the design and layouts optimized for iPhone. 70 71 00:05:32,030 --> 00:05:35,660 So you can still follow along with everything we do in the course with an iPad, 71 72 00:05:35,870 --> 00:05:40,220 but just be aware that some of the designs might look a little bit stretched and they might not look 72 73 00:05:40,220 --> 00:05:42,770 exactly the same as you see on the iPhone. 73 74 00:05:42,950 --> 00:05:44,600 But it will work just fine. 74 75 00:05:44,810 --> 00:05:48,690 If you don't have an iPhone, you don't have to run out right away and get one. 75 76 00:05:49,880 --> 00:05:51,650 This is something that I would recommend, 76 77 00:05:51,650 --> 00:05:56,030 you know, once you realize that you're really into this or if you're at the point where you're about 77 78 00:05:56,030 --> 00:06:02,150 to release on the App Store, then you have to test your app on a physical device; t's at this point when 78 79 00:06:02,150 --> 00:06:03,590 you would actually get an iPhone. 79 80 00:06:04,100 --> 00:06:11,180 So, as I mentioned, Xcode comes bundled with a iOS simulator and it's sort of like a virtual phone 80 81 00:06:11,180 --> 00:06:13,580 that runs on your computer. 81 82 00:06:13,760 --> 00:06:18,560 And you can essentially, you know, use the rotate gestures, the shake gestures. 82 83 00:06:18,740 --> 00:06:25,160 You can zoom in and out, you can tap, etc. So it's just a simulated iPhone and that works just as 83 84 00:06:25,160 --> 00:06:25,520 well. 84 85 00:06:26,270 --> 00:06:31,670 The only times when it doesn't really work so well is when you are using notifications or if you're 85 86 00:06:31,670 --> 00:06:36,950 using Apple Health or Apple home or some of those things, it can get a little bit tricky. 86 87 00:06:37,700 --> 00:06:43,250 Another thing that you should always ask yourself before you make any app is do you actually need an app 87 88 00:06:43,250 --> 00:06:47,780 or can you actually make do with a mobile responsive website. Now 88 89 00:06:47,780 --> 00:06:56,000 because we have a mobile app development agency as well at the London App Brewery, one of the things that we 89 90 00:06:56,000 --> 00:07:01,010 tend to recommend, we have a lot of clients who come to us and say, you know, I want you to make 90 91 00:07:01,010 --> 00:07:01,580 this app. 91 92 00:07:01,940 --> 00:07:06,500 And we actually spent a lot of time turning people away and telling them, look, you can get this made 92 93 00:07:06,800 --> 00:07:14,960 much quicker and much cheaper by just getting a web designer to make a website for you that's mobile 93 94 00:07:14,960 --> 00:07:21,980 responsive, that scales nicely on the phone because unless you're tapping into some of the sensors 94 95 00:07:21,980 --> 00:07:27,770 within the phone, say if you need the location or if you need to be able to send people notifications, 95 96 00:07:29,390 --> 00:07:32,720 something that is inherent about the phone that you need. 96 97 00:07:33,440 --> 00:07:40,070 Otherwise, if you just need to display information, then making an app is a very time and money costly 97 98 00:07:40,070 --> 00:07:41,250 way of going about that. 98 99 00:07:42,200 --> 00:07:47,120 So always think about whether if you actually need to make an app before you make any app. 99 100 00:07:48,200 --> 00:07:56,930 And finally, we're just going to mention that prior to Xcode 7, so Xcode 6, in order to actually 100 101 00:07:56,930 --> 00:08:03,650 download the app that you coded up, that you developed within Xcode onto your physical iPhone device 101 102 00:08:03,650 --> 00:08:09,290 that you own, you actually had to pay Apple 99 dollars a year in order to be on the Apple developer 102 103 00:08:09,290 --> 00:08:09,850 program. 103 104 00:08:10,340 --> 00:08:13,340 So as of Xcode 7, 104 105 00:08:13,350 --> 00:08:17,960 so I think that was September 2015 when it launched, 105 106 00:08:18,260 --> 00:08:22,580 you are now able to do this on any free Apple account. 106 107 00:08:22,580 --> 00:08:27,260 So all you need is just your normal iTunes account, which you used to download 107 108 00:08:27,260 --> 00:08:31,560 apps. it will be able to get your code and your app onto your physical iPhone device. 108 109 00:08:32,030 --> 00:08:35,500 Now, when would you consider signing up for Apple developer program? 109 110 00:08:35,870 --> 00:08:41,970 This is when you're ready to launch your app onto the App Store and start generating revenue. 110 111 00:08:42,320 --> 00:08:47,750 So I would recommend that try to delay signing up for the Apple developer program for as long as you can, 111 112 00:08:48,020 --> 00:08:52,520 because you're charged on a yearly basis, rolling essentially. 112 113 00:08:52,530 --> 00:08:57,710 So if you're not yet ready to take advantage of the Apple developer program, if you haven't got your 113 114 00:08:57,710 --> 00:09:02,210 app together yet, if you're not ready to upload to the App Store, then there's actually no point paying 114 115 00:09:02,210 --> 00:09:04,140 Apple for that privilege. 115 116 00:09:04,160 --> 00:09:09,800 So build your app, test it thoroughly, once you're ready and about 116 117 00:09:09,870 --> 00:09:16,800 to launch it to the App Store, then start paying for your Apple developer program license. And this 117 118 00:09:16,800 --> 00:09:18,870 gets you access to something called iTunes Connect. 118 119 00:09:18,930 --> 00:09:23,580 This is a portal where you can upload your apps, you can check your app analytics, how many times 119 120 00:09:23,580 --> 00:09:27,300 it has been downloaded, how many people are using it. 120 121 00:09:27,750 --> 00:09:28,980 You can check your sales, 121 122 00:09:28,980 --> 00:09:32,790 you can see how much money you are making every day, etc., etc. 122 123 00:09:33,060 --> 00:09:37,440 So this is something that we're going to cover in one of the last sections when 123 124 00:09:37,450 --> 00:09:41,110 we guide you through how to actually upload an app to the App Store. 124 125 00:09:41,280 --> 00:09:43,750 So all of that is coming up. 125 126 00:09:44,400 --> 00:09:44,790 All right. 126 127 00:09:44,800 --> 00:09:47,670 So those were all the tools that you'll need in order to get started. 127 128 00:09:48,000 --> 00:09:53,550 And in the next lesson, I'm going to show you how to install and set up Xcode so that you'll be able 128 129 00:09:53,550 --> 00:09:57,660 to get up and running very quickly and we can get started making our first app.