Getting Started How To Make An iPhone App
by Chris Ching
Table of Contents:
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.
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
LET’S GET STARTED
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
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.
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?
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?
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?
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).
Hi there Michael! The tutorials were created in 2019 so the material is quite recent.
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.
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?
it’s the same as it is here. you just have to log in with your credentials.
Ok but it must not be Youtube. is it mp4?
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.
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.
check episode 11. Chris explains about image size and suggest a great app to have the multiple image sizes.
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!
Great news Chris!!
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)
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?
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.
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 🙂
Okay thanks! I just thought that xCode has such a system like git hub itself….but thank for that quick answer!
How can I get a sound file to play when I press a button.
You sure can :). Chris shows us how to do this at the end of module 3 of his Objective – c course. The lesson is called “Build a Soundboard App”. I hope this helps 🙂
How would I do this in Swift language.
if you go to “stackoverflow dot com” and type this into the search box “Swift, how to play sound when press a button” this should help answer your question.
Ok thanks. I can do it now!
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 😛
Thanks, i fixed it!
No problem, good job with the series
We need the next Episode!!! 😀
I was working on it yesterday and it took longer than expected! Will definitely finish it today.
I think i’m going to take down the dates. So far it looks like I can do a lesson every 1-2 days!
No need to hurry! Just can’t wait for the next episode!! You do a great job!!
When going through the tutorial. I am not getting the viewcontroller.swift only view controller.h and view controller.m Help please
Did you make sure you selected Swift in the dropdown, when you created the new project in Xcode 6? If you go down a little bit Leland asked a similar question
Doug’s right! 🙂
Hey Chris. I have already tried the obj-c course. What have do I need to do, to get the Swift course for free?
“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 🙂
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!
Are the private tutorials in swift or objective c ?
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!
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?
Hey Leland, when you start a new project, in the dialog box, make sure you select Swift in the dropdown in the screenshot attached!
Hey Leland, when you start a new project, in the new project dialog box, make sure you select Swift in the dropdown in the screenshot attached!
Hey Leland, when you start a new project, in the new project dialog box, make sure you select Swift in the dropdown in the screenshot attached
Module 1 basic; line 4 is grayed out do i have to pay to get access to the basic learning?
Hey Val, nope, im releasing them as I can.
Catching back up. Thanks!
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 ??
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?
With Xcode 6 you can program in either Swift or Objective-C. In fact, some libraries aren’t entirely ported over to Swift yet so there will be times when you’re using Swift but will be calling Obj-C library code.
Ok many thanks.
fbara is absolutely right! Welcome aboard Charles!
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.
Chris, I’m an original enrollee in the Objective-C Trainer course, am I automatically enrolled in the Swift version of the course?
Yes! When I release the Swift course for sale, I’ll actually auto-enroll all the Obj-C members
Perfect! That is great. The investment on the course was worth it for sure. You’re awesome Chris!
How to learn java Chris can i learn android app development from ya ?
I was wondering if I could hire you to help develop and app idea of mine. Please let me know what you think
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!
Thanks for reading and your kind words, Jason!
Hi Cris , I have a question . How AppDelegate will create ViewControler object ? How they are linked
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.
went i create my first app is not show the viewControlller.xib tanks for you help
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!
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!
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 !
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!
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!
Hey Peter, I’ll definitely do so when it’s the non-disclosure agreement is lifted!
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];
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
Hey Bobby, actually the course only talks about apps and not games! However my friend is creating a free youtube educational series on creating iOS games so that sounds like it’d be perfect for you! Please check back in about two weeks and follow up!
that sounds great- what is the YouTube channel name that your friend is creating that under?
Hey Bobby, i believe it’s DevPlayLove (https://www.youtube.com/user/devplaylove). He’s got the videos recorded but he’s still doing some editing on them.
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!
Chris, You rock brother!!! Thanks for these.
Thanks for enjoying them Robert! 🙂
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 (https://codewithchris.com/learn-programming/)
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.
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.
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.
Hey Sunanda, thanks for watching!
Did you add any text to the label? Otherwise, you won’t be able to see anything.
You’re following this video right? (https://codewithchris.com/first-xcode-project/)
Regarding the “no matching code sign identity found”, try switching to the simulator (see attached screenshot)
Hope that helps!
thanks for reply. yes i added. still it’s not working. i will send you the entire zip folder of my xcode project.
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!
Hey William, simply treat your Main.storyboard as the same as the xib file! You’ll be able to do everything in the video. Let me know if you have anymore questions and I’d be happy to assist. Thanks!
PS. Thanks for following my tutorial 🙂
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!
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.
Just found it and replied! Thanks!
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!
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!
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: https://parse.com/tutorials/login-and-signup-views
THANK YOU, you will be in the credit section FOR SURE
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!
Awesome thanks, I just find a hard time following tutorials, I just never understand whats an instance and how is the object an instance of the class
Awesome thx, and about the course were I live internet is limited so can I watch the vids later? Here after 11 pm internet is unlimited so usually on weekends istay up and watch vids that’s why if I entered the course I’ll have to wait till 11pm our time and again thx for the link I’ll check it now
Yup, they’re just streaming vids available to watch at your convenience 🙂
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.
Hello Ra, thanks for your question! Unfortunately my experience with location is very limited. My friends at AppCoda have a great location tutorial (https://www.appcoda.com/ios-programming-tutorial-localization-apps/). Maybe ask them about it?
Sure, why not. Thank you for great help. bytheway, did you speak Chinese?
Unfortunately i’m canadian born chinese and while i can speak alright, i can’t read/write! 🙁
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.
Hey Sung, thanks for stopping by! I think you also sent me an email.. Did you get my reply in regards to my iBeacon article?
Hm.. is Vimeo blocked in China? That’s what the course videos are hosted on.
oh! is Vimeo? I thought it was YouTube. Thank you!!
HI Chris You Video Good i want UIelements and With examples Videos
Hii Chris i want Table View exmples plz
Hey Pavan, I cover the tableview element and more in my paid course. Please consider joining it! 🙂
hi i see your video course but more imprint object c
Hey Peter, in the video course we learn Objective C 🙂
thank you for the valuable information, can you recomand iOS Development books to read for beginners, what about med live and advanced.
Hey Ammar, have you checked out the series of books on Ray Wenderlich’s site? Thanks Chris
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….)
Hello Dustin, I’ve sent you an email to see if i can take a look at the project!
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…
Thanks Clark, that means a lot to me! I hope I can keep you from giving up 🙂
I want to ask you about how to add sound on my app on xcode 5
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!
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 !
Thanks for reading, Bobby! Haha glad you’re learning 🙂
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!
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
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 ..
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!
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.
Hey Rich, glad to have you! That’s exactly why I’m taking a more hands-on approach. I found this to be the best way that I learn too!
Yeah Right i have many ibooks here but sometimes i dont understand … Hands on is the Best … very Practical. COnvenient Thanks Man
Awesome 🙂 I love it! Thanks for learning with me!
Thanks Chris.. i am working on my first app.. can you do also a tutorial about server application?
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!
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.
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! 🙂
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!
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.