Start Here

Getting Started How To Make An iPhone App

The Plan


I recommend reading from the top because the first few sections will help set you up for the best chance of success . However, if you can’t wait to take action, you can skip directly to the actionable steps of the plan in the last section.

Your Outcomes

Your Outcomes

Hey it’s Chris here and welcome to your A.P.P journey! And yes, it’s called that because you’re about to embark on creating apps! Apps on the iOS ecosystem (i.e. from Apple) and not the other guys…

Before we start I want to give you a run down of the skills you’re going to gain coming out of this. Trust me this is the beginning of something amazing that can open up all kinds of opportunities!

  • Understand the overall lifecycle of what goes into making apps
  • A run down of the tools and equipment to get set up and ready
  • Learn how to use Xcode – it’s the tool you use to build working apps
  • Understand the different layers of an app – its interface, its behavior with user interaction, its access to data etc.
  • Get important basics in the Swift programming language – syntax, logic, constructs etc.
  • Develop A+ coding skills in best practices, debugging and design patterns


The #1 question I get asked is “How do I get started with building apps?”.

At first, it seems like a silly question to me because I see so many resources available for making apps.

But then I realize it’s not that simple:

As a beginner, you might not even know what you’re looking for. It’s usually glossed over most of the time.

Do I need a mac?
What’s Swift and Objective-C?
What’s this Xcode thing?
What sort of equipment do I need?

And to top it all off, there’re a lot of outdated resources out there. The worst part is that you might not even be able to tell that it’s no longer relevant if you’re just starting out.

Talk about frustration and huge amounts of wasted time!

That’s why I wrote this Getting Started guide to lay it all out for you. After

You’ll learn:

The 10,000 ft view: A tour of what you need to learn in order to build app after app after app…

What You’ll Need: All the tools that are available. Which ones are important and which ones are not.

Mindset For Success: What can you realistically achieve in a few months? In a year? Prime yourself for success by having the right mindset and expectations from the start. You’re building a new set of skills – it’s gonna take work!

Your #1 enemy: The app journey is not without peril. Let me break down what stands between you and app success and then let me tell you how to defeat this foe.

The plan: This is where you develop the technical coding skills to build apps and become an iOS developer. This 3 step plan includes training to take you from beginner to building your own apps. Video lessons, downloadable worksheets and more!

This is going to be a journey but if you’re serious about learning iOS app development, this is exactly where you want to be.

So grab your favorite drink, settle in and I’ll promise you this:

You’re going to have completed your first app within the next 20 hours.

Continue to: The 10,000 ft View


  • Sandy Wilderotter says:

    Hi! I learned so much from your videos! But, I was just wondering how you could to multiple user interfaces and how can you connect them?

  • IP Media says:

    Hey! Great and informative article. I just want to ask that problems occur after launching the app and it is very difficult to find a particular error. Most of the times those errors do not occur at the time of testing. What is the reason for that?

  • Cathy Dekker says:

    Hi. This looks like a great way to break into app development (I’m already a programmer). I noticed one of the comments asks “How are the paid courses viewed?” However, it looks like all ten of these lessons are free. Are there also courses offered at a cost? What are they and how do I view that list?

  • Michael says:

    I see a lot of comments from 2014, is this information still good for 2019? (figured I should ask before trying to go through all this just to find out it’s outdated material).

  • Rahul Mandviya says:

    Hey Chris
    I’m from India. As we don’t have good courses at low prices in India, I’m looking forward to try your free course. Sir i want to do freelancing so that i can manage my collage expenses i am class 12 now and will join university for btech soon can you pls guide in what sequence should i work so that i can learn it properly and then start freelancing.

  • John says:

    How are the paid courses viewed? I am thinking of getting the new course. What format are the videos in and can they be downloaded? Can you do another giveaway?

    • Dave says:

      it’s the same as it is here. you just have to log in with your credentials.

    • Hey John, thanks for asking! The videos are embedded and streamed from the private course area. Unfortunately they won’t be available for download. I won’t be doing a giveaway for the course, however I’m thinking of doing a random lucky draw for a prize (tbd) that all Swift course customers will be entered into.

  • Nate says:


    I have a question. What makes an image 1x, 2x or 3x (@1x, @2x, @3x)?

    How can you make a 3x image?

    Can I please have an explanation.

    • Lampros says:

      Hello Nate,
      check episode 11. Chris explains about image size and suggest a great app to have the multiple image sizes.

  • Olaitan Faboumy says:

    where do I go to pay for this course ? also how long will it take to complete the course?

    • I’m launching it Tuesday morning! It’ll be a new lesson released on a more regular schedule (every 2 days) and each lesson will have quizzes to make sure you have absorbed the content before moving on. There’s also the ability to earn badges and points to keep up the motivation to finish the course!

  • Moussa Haidous says:

    About the Pre-release special section: it seems when you removed the dates, you added another lesson thus you may want to change the last sentence in the “Pre-release special”, you got lesson 14, make that lesson 15. Hope I helped solving stuff 😛 (Yup same guy here :P)

  • Nathan says:

    Hello Everyone,

    I have two questions today.

    I cannot think of an app idea (Both games and non-games). Does anyone have any ideas/advice?
    Does anyone have ideas/advice on the best ways to get free & legal assets for apps?


  • Hey Chris
    I want to continue with lesson 8 but i tried a few things by myself in the last days to do the total game by myself. But now I want to continue with your lessons. How can i get back to the state were I ended up in lesson 6 or 7? Would be great if I can do that.

    • Doug Bocking says:

      I’d advise just remaking the app from the start to reinforce your learning of the previous lessons, either that or you could just remove what you have added on top of what Chris has shown you. Another thing you could have done but it’s not necessary when doing these exercises, is make a git hub repository, and saving it through there. This is helpful because you can return to previous versions of the app you are working on. You can go to Chris’s lesson on “Git Hub” in module 14 of the objective -c course to learn more about this. Hope this helps 🙂

  • Nathan says:

    How can I get a sound file to play when I press a button.

  • Moussa Haidous says:

    About the Pre-release special section: it seems when you removed the dates, you added another lesson thus you may want to change the last sentence in the “Pre-release special”, you got lesson 13, make that lesson 14. Hope I helped solving stuff 😛

  • We need the next Episode!!! 😀

  • Robert says:

    Thanks Doug!!

  • Robert says:


    When going through the tutorial. I am not getting the viewcontroller.swift only view controller.h and view controller.m Help please

  • Hey Chris. I have already tried the obj-c course. What have do I need to do, to get the Swift course for free?

    • Doug Bocking says:

      “This new Swift course is still in the pre-release stage and I’m giving it away for free to all students of the tried and proven Objective-C course that you’ll find in the store. Once we get past lesson 13 on Oct 10 and the course gets started, this 2 for 1 special will be gone!”

      So if you have purchased the Objective-c course before this time you will get the Swift course for free :). you can also look at a forum post in the general discussion area called “quick question regarding to swift course” Adrien answers this question there as well. hope this helps 🙂

      • Thanks man!

        I just thought that I have to do something to get it for free, because of “Once we get past lesson 13 on Oct 10 and the course gets started, this 2 for 1 special will be gone!” – but thanks!

  • Paige says:

    Hi Chris,
    Are the private tutorials in swift or objective c ?

    • Guest says:

      Currently the Objective C course is taught in objective C though when the Swift Course comes out (it still didn’t) It will be taught in Swift.

    • Hey Paige, the current private course is taught in obj-c.
      A new version in Swift is being released and the tutorials on this page are the initial lessons in that Swift course.
      After lesson 12, they’ll be in a private Swift course which will have new lessons released every 2-3 days. Thanks!

  • Leland says:

    Chris, I enjoyed your videos. I noticed on my Xcode in the project navigator that you had an AppDelegate.swift and a ViewController.swift, and mine were labeled AppDelegate.h along with AppDelegate.m and ViewController.h and Viewcontroller.m. How do I change it so it has swift like yours? Or does it matter?

  • val says:

    Module 1 basic; line 4 is grayed out do i have to pay to get access to the basic learning?

  • Akshat Sharma says:

    Hey Chris, i’m a first year student of cs branch and i’m new to all these programming kind of stuff so i just wanted to know can i even learn ios programming without knwing any other basic languages of programming ??

  • charles says:

    Hay Chris, i enrolled in the objective c course and will participate in swift.
    One question for Chris, currently i making an app in objective c and at the same time want to participate in swift course,
    do you think if i update to Xcode 6 (swift), i still be able to finish my project using objective language?

  • NoVision Productions says:

    Awesome! I enrolled as an Objective-C Trainee but fell off the map due to some personal situations, but I am back now. I didn’t finish the last course but its okay because I wanted to learn Swift more than Objective-C. I’m stoked. Loving the new layout of the site as well.

  • Kawika says:

    Chris, I’m an original enrollee in the Objective-C Trainer course, am I automatically enrolled in the Swift version of the course?

  • How to learn java Chris can i learn android app development from ya ?

  • RJ says:

    Hi Chris
    I was wondering if I could hire you to help develop and app idea of mine. Please let me know what you think

  • Jason Yi says:

    Hey Chris,
    I have to say, I just started reading through your lessons and skimmed through them and it is very thorough! I am new to this programming or coding stuff and it’s tough to grasp, but I’m sure I’ll at least learn the basics. Keep it up!

  • Naveen says:

    Hi Cris , I have a question . How AppDelegate will create ViewControler object ? How they are linked

  • ashok says:

    i want to connect multiple bluetooth low energy tags in ios

  • Thanks Chris, I just want you to know that you’re helping a lot of people out there.

  • info0913 says:

    went i create my first app is not show the viewControlller.xib tanks for you help

    • Tobias Mann says:

      Because you use XCode 5.x, xib-files only exist in XCode 4.x (and maybe lower, dont know yet).
      but Chris tells you in every video, what you have to do with the similar versions of XCode 😉

      • Thanks Tobias! I forget how many people are watching these videos. I’m going to make it a priority next week to update them. Thanks again!

        • Tobias Mann says:

          No problem! I started today to watch your free videos and also started programming, its awesome and i like the way you teach and easy to understand, i think i have to upgrade to an membership in the near future.
          Thank you for the videos Chris!

  • Quân Chùa says:

    oh thanks very much for your videos.i got started on your learning plan and it helped me alot. it’s vital for beginners like me to decide what direction the beginners should go.great teacher !

  • Tommy Hannan says:

    I am making a game where there is 1 player piece with a labeled number, and 4 computer pieces each with a labeled number. The goal of the game is to hit the computer piece with the corresponding number as the player piece, before it moves off the screen. When this happens, the player number goes up and your score increases. Each time the set of computer numbers is generated, 1 of the 4 numbers has to be the same as the player number, but within a certain set of numbers. I am having trouble making the set generate one and only one number matching the player, and 3 other numbers that are from a certain set, none of which are repeating. Sorry if this is confusing but tried to explain it my best. Thanks Chris! You’re awesome!

  • Peter Ulrich says:

    Hi Chris, I started with your great learning plan. Just wondering if you will start with SWIFT in the near future and post your experience and/or will even add some education material. Thank you!

  • meowmeow348 says:

    Hi Chris,

    I had the page earlier, but how do you use a button to move to another view? I want to be able to move to a new view with the tap of a button (Ex; “start”). I have another question though. Is it possible to not use a back button? I do not want the navigation bar or a back button to show in my project.


    • Hello! In the viewDidLoad method of your second view controller, you can add this line to hide the navigation bar: [self.navigationController setNavigationBarHidden:YES];

  • Bobby says:

    Hey Chris– great videos! I was wondering- after completing the full paid course would a user be ready to create a game application? Not necessarily something too serious, just a simple, fun game like Doodle Jump or Tappy Bird

  • nikhil says:

    hi there , i am reading your tutorials they are very useful, thanks i start learning ios 2 to 3 weeks ago i want to store data from text field to the table view in another view. Can you Pls. help with that..

    • Hey Nikhil, in lesson 6, you learn how to access the text in the UITextField. Lesson 8 shows you how to create a 2nd view. In an upcoming series i’m releasing tomorrow, you’ll learn how to pass data from view 1 to view 2 and also how to use the table view. Please check back!

  • James Taylor says:

    Thank you

  • Robert McGinley Jr says:

    Chris, You rock brother!!! Thanks for these.

  • Joel says:

    Hey Chris. I want to start by saying you are very good at teaching. I like your approach. I have an issue, though. I am having trouble understanding what is even going on. I can follow along and do what you do easy enough, but all the coding just blows my mind. I have a ” what just happened” moment after watching the videos. I am obviously new to programming but I am wondering if I should just give up? I know it takes practice and dedication, but I am wondering if I am in over my head.

    • Hey Joel, it’s definitely doable but I can understand how you feel! I’ve given up learning guitar probably three times now. It’s not always fun 🙁

      Perhaps try reading this article and see if you can grasp the concepts (

      The YouTube videos are not lengthy enough for me to go into any detail so i apologize for that! Give that article a read and let me know if the programming concepts make sense.

      • Joel says:

        Thank you for the info….Funny…I’ve played guitar since I was in 8th grade (now 31) It was equally as frustrating to learn.

  • Sunanda says:

    i like your lessons. and i did as you mentioned. but when i try to run after adding labels then it’s showing build succesfully and open an iPhone without any labels. so i am not able to read further. and one more error message is there in Main.storyboard page like “No matching code sign identity found”.please help me out. Thank you.

  • William Paul Lefiti says:

    I am in lesson 3 and I am having trouble locating the .xib file within Xcode version 5.0.2. The class files showing are appdelgate.h, .m main_iphone.storyboard, view controller.h, .m and images.xcassets. Can anyone help thank you!

  • Moussa Haidous says:

    Hey Chris, Im enrolling in your course in few days 😀 I need few days for begging my mom and stuff like that, It took me literally 2 years of begging to get my macbook, now a week of begging to get the course (btw when my parents agreed to get the macbook, I got a loan from my father so I’m still paying for it 😛 btw I’m 12), I hope your course will include networking and stuff like, i have a time constrain to build a social app so i need to do that fast, hope ur courses help 😀

    • Hey Moussa, thanks for joining! It’s hard to put a price on education and potential future career, but props to you for starting so young 🙂 It’s going to be a really useful skill!

  • DiditzZz says:

    Hi Chris,

    I wrote to you before. Thanks for the quick response back then. I am writing you again here because I got a few more concerns and you didn’t seem to realize i sent a reply email. I have a few more concerns before I enroll. Do get back to me in your earliest convenient time possible, thanks again. Cheers… Sincerely, Samuel.

  • Moussa Haidous says:

    Uhm can you make a video on creating a social networking app? Like a login and sign up view and how to connect users which each others

    • Hey Moussa, i’ll follow up with you when i do this in the future!

      • Moussa Haidous says:

        Can it be soon please?

        • Hey Moussa, sorry unfortunately i can’t do it soon. Maybe try searching on Google?? There must be someone else who has done it!

          • Moussa Haidous says:

            Maybe their is I just don’t know how to ask the question, I can’t go on “How to make a social Networking app” neither “How to make a login screen” cause its not enough, and i don’t know what is the question for connecting users with each other or letting them chat to each other so can i tell em the question?
            Thank you in advance and Im sorry not trying to rush you

          • Yeah, the term “social networking app” is a little too vague. What you’ll want to do is define specific features you want in your app. Pretend you were writing a specifications document for someone you were going to hire to build the app for you. You want to be very clear and explicit about what the features and functionality is.

            That will help you communicate what you want more clearly.

            For the login system, i teach how to build a simple one in my video course. Or just google “login system ios”, the top 3 results seem very relevant. In fact the result with Parse, is something that I’ve followed before. It’s the 2nd or 3rd result. Here it is in case you dont see it:

          • Moussa Haidous says:

            THANK YOU, you will be in the credit section FOR SURE

  • Moussa Haidous says:

    Hey Chris, Im 12 and I’m kinda finding a hard time getting into objective c I already know java script and I’m trying to relate them to each other, like a ‘method’ is a ‘function’ in javascript and a variable is a variable but in javascript its ‘var = “I<3programming"', so its a bit hard but anyways, what kinda of app i should first make? I was thinking of Creating a game but wouldn't that be rushing stuff, so? Should i make the game in-mind or go with another category?

    • Hey Moussa, that’s the right way to go about it! Once you know one programming language, it’s just a matter of relating things like you mentioned above. If i were you, i would follow some tutorials to build some simple apps and get the hang of things. Having your own project in mind is fine as it’ll help you learn (when you run into something you don’t know how to do and have to research it) and keep things interesting for you. Keep in mind though doing games require a different way of thinking (game loops and stuff) so check out Sprite Kit to make games for iOS. Good luck!

  • ra safari says:


    I have 20 TableView (about 400 static TableViewCell) would like to localizing from English to Japanse.

    Should I have to change it in Storyboard one-by-one?

    Because I do not find out any tutorials teaching this. But I think it is very spend time, maybe I was wrong.

  • Sung says:

    Hi Chris! This video lecture is Awesome!!
    I am about to enroll this course. but i have some questions to ask you before i pay.
    i’m a Korean guy who is studying abroad in China. And youtube is blocked in China.
    IS there any chance that i can watch the videos in China??
    And is there a lecture for iBeacon Programming?? I’m preparing for the graduation project and there is only a few information.

  • Pavan Alapati says:

    HI Chris You Video Good i want UIelements and With examples Videos

  • Pavan Alapati says:

    Hii Chris i want Table View exmples plz

  • peterjeyi says:

    hi i see your video course but more imprint object c

  • Ammar says:

    Hi Chris

    thank you for the valuable information, can you recomand iOS Development books to read for beginners, what about med live and advanced.

    Thank you

  • deucetin says:

    Hey Chris! Everything is working with mine except the dice images aren’t appearing. Any clue?? (Note that the sum is accurately calculated and displayed on top – I just don’t see any images at all.) The images have definitely been imported, and I don’t get any errors when I run. I downloaded your source file and everything seems to be matched up perfectly (although I can’t access your storyboard b/c I’m on xcode 4….)

  • Clark Feusier says:

    Thank you, Chris. I have looked everywhere for material like yours… I was about to give up on learning iOS dev. You saved the day…

  • Hadi says:


    I want to ask you about how to add sound on my app on xcode 5


    • Chris Ching says:

      Hello Hadi, you’re in luck! In about a week, i’ll release a video series on how to do a soundboard app using Xcode 5. Please keep checking back!

  • Bobby Hendrix says:

    Hi Chris,
    Just wanted to say Thank You for taking the time to teach myself and others how to code for IOS. I was reading through the same book you had and felt I wasn’t quite getting it even with practicing what I was reading. Thanks for taking me to school !

  • Rachel says:

    Hello Chris, Your videos are awesome Ive watched alot of them already but when i tried to make the “Hello World” app I got stuck. When you had us search “ui label” my search came back as no match, also when I click the start button my simulator opens outside of Xcode and is white, unlike yours which looks like an actual iphone and is on the Xcode app itself. Please help! I want to learn just confused as to why our programs are different and how am i to create step by step if i cant take the same steps you are? Thank you!

    • Chris Ching says:

      Hey Rachel, thanks for following along! I have a feeling you’re using XCode 5 which i haven’t updated my post for yet.
      Don’t worry that you don’t see the actual iPhone frame; it’s just a different view that you can change between. Please see my other reply to your problem with the UILabel! Thanks

  • kramkram67 says:

    Hi Chris . Thanks man . Although Im just starting my First leap in the iOs yard.. i Presume that this would be more likely interesting … 🙂 I am not a programmer though i like programming .. but I finish Bachelor in Marine Transportation… But I really like programming thats my passion .. and by the way I already made an app. but sometimes its just a mess .. i always forgot what code did i encode. . YOU really said that practice practice practice .. will make you used to the code and need not to memo it and yeah it was very help flu.. right now im going back to the basics so that i understand so much the ios yard .. 🙂 Thanks Chris .. Godbless you ..

    • Chris Ching says:

      Thanks for the kind words and I’m really glad you realize that it takes persistence and practice to grasp any new skill.
      I hope you continue to watch and let me know if you have any questions!

  • Rich says:

    Hello Chris,

    Thanks for making these videos, I can’t wait for the next one, I have been trying to read a few books, but after a few long winded pages, my brain hurst and feel like giving up. I like your concept of Teaching, and from now I will be following your videos and tutorials.



  • Thanks Chris.. i am working on my first app.. can you do also a tutorial about server application?

    • Chris Ching says:

      Hello, thanks for messaging Joey!
      I’m starting out with the basics, but having the app communicate with a server is definitely something that will be covered in upcoming lessons!

  • aaas24 says:

    Hi Cris,

    I really thank you for your help. I think your videos are awesome!, short & simple like apple.

    I am on the Xcode series as I am completely new to this world of iOs coding. I could only find on youtube until your 5th video of the serie so I guess you are working on the rest.

    I look forward to seeing all your videos. Thanks again.

    • Chris Ching says:

      Thank you! That’s right, i will continue to update the videos and this site so please continue to watch, read and share it with your friends to help my site grow! 🙂

  • Colette says:

    Hi Chris,

    I just want to say thanks for everything. You’re a great teacher and doing an awesome job explaining things. I look forward to all your videos.

    I am new to iOS development and finding help from others is rare. A lot of people are more into Android and windows.

    I am looking for mentors and people to code with in Portland, OR. If anyone is interested, let me know.

    Thanks again Chris!

    • Chris Ching says:

      Hello Colette, Thanks for reading!
      It’s great that you’re learning and learning from here too 🙂
      Don’t hesitate to ask me anything that’s unclear.

Leave a Reply to Doug Bocking Cancel reply

Your email address will not be published. Required fields are marked *