XCode Tutorial: Create Our First XCode Project

Updated Oct 3 2013: This tutorial is compatible with XCode 5 AND XCode 4!

We’re taking a practical approach to learning iOS programming. This means lots of hands on work and practice!
In order to benefit the most from these lessons, you should open XCode and try to follow along.

This is part 2 of the lesson plan. Click here for the entire Learning Plan.

Tools Required and Costs

To recap from the introduction video, all you need to get started:

1. A Mac with XCode (XCode is free).
2. An Apple Developer Account (Free to register but costs $99 if you want to test on a device and publish to the App Store).
3. The will to learn the Objective-C programming language and how to use XCode.

If you don’t have a Mac and you don’t want to buy a new one, have you considered the following options?

1. Can you borrow a friend’s Mac?
2. Do you have access to a computer lab with Macs?
3. Buying a used Mac Mini?

Aside from option #1 and #2, buying a used Mac Mini is probably the cheapest way to start. A brand new Mac Mini is $500 and you can get a used one from Craigslist/eBay for half the price.

Difference Between XCode and Objective-C

I see a lot of confusion between learning XCode or Objective-C for building iPhone apps. The distinction between the two is that XCode is the application that you will be writing your code in and Objective-C is the programming language you will use to write that code.

So the majority of your learning will be around programming concepts and the Objective-C programming language but because we’re doing all of that inside of XCode, you’ll learn how to navigate and use XCode as a result.

Getting XCode

XCode is available for free in the Mac App Store!

Creating a New XCode Project

When you launch XCode for the first time, you’ll see a welcome screen like below. Just click on “Create a new project”

Next make sure that you’ve selected “Application” under “iOS” on the left hand side. On the right hand side, you’ll all of the different app templates you can use to start your project.

You’ll want to select “Single-View Application” and click OK.
Next, XCode will ask you for some basic pieces of information to start your project.


XCode 5 new project settings screen

Project Name: You can fill in whatever you want to call your project. Mine is “BlankDemo”

Organization Name: This is optional. At the top of all your files, it will say “CompanyName” if you don’t fill this in.

Company Identifier: This is to identify your app. You can fill in com.companyname. Your app will turn out to be com.companyname.projectname.

Class Prefix: You can leave this empty. If you fill this in, all new files you create will be prefixed by this prefix in order to distinguish the files you created from files originating from other sources.

Devices: You can leave this set to iPhone for now.

If you’re using XCode 4, you’ll see the additional options below. These options are selected in XCode 5 by default.


XCode 4 new project settings screen

Use Storyboards: Storyboards are a way of constructing navigation flows within your app and in XCode 5 this is on by default so make sure this is selected if you’re using XCode 4 for the sake of following along.

Use Automatic Reference Counting: This should be selected because otherwise, we would have to manage the disposal of objects ourselves which is somewhat of a more advanced topic.

Include Unit Tests: For the demos we’re building, we don’t need this included. Unit tests are a way of writing test cases for your app so you can efficiently test your app after every change to make sure nothing was broken because of the changes.

Once these settings are in place, click “Next” and you’ll be presented with your newly minted XCode project!

Running Your XCode Project

At this point, we won’t write any Objective-C code. Let’s just run the XCode project as is and see what shows up!

Click the Play icon in the upper left hand corner of the XCode interface.

Now the iPhone simulator will launch and show you a grey screen.

Congratulations! You’ve compiled your very first XCode project and run it!

In the next tutorial, we’ll be adding to the user interface to display something on the screen!

Click here to go to the next lesson now!

Frequently Asked Questions

There are none right now but if you have a question related to this tutorial, please ask it in the comment section and i’ll add your question and my answer in this section!

108 Comments

  1. Hey Chris,
    I want to learn coding to create an application on my Mac using Xcode. How do I go about this? Can you please walk me through the appropriate steps in doing so. Thanks!

    Reply
  2. Following along with this tutorial but when I open the Xcode program, I can get to the product name screen, and it just keeps trying to load. My internet seems to be working fine. Any thoughts on this issue.

    Reply
  3. Not sure what to do here. Got stuck at the part where we launch the “change text” app. I followed the steps exactly, (also I’m on the latest version of Xcode), but when I launch the app, it returns to that screen and pauses itself. Any help is greatly appreciated. Thanks!

    Reply
  4. When it says at the beginning to type in your password, I tried with my apple ID password and it didn’t work. Was I supposed to type in another password?

    Reply
    • that’s probably your computer’s password. When you install new software, the OS asks for your computer’s password before install it. That’s different from your Apple ID password.

      Reply
  5. Hi chris.. loving your first basic tutorial.. pls can you show me how am gonna sign up here so that i can go further, cos i cant see registration page/link…all i can see here is the log in page

    Reply
  6. Hi Chris, when I press next, the project doen’t start. A window opens with desk, computer desk, like if I have to paste sth. in. Thank you!

    Reply
  7. Hey Chris i am 14 i am very excited.Can u tell me if i can use Xcode on a samsung ATIV 4 notebook.Or if it’s compulsory to use a mac.

    Reply
  8. Hey there Chris! I have an issue using Xcode 5.1.1
    Whenever I build the app, it just shows a parse issue, saying that it could not load the module “Darwin”. I was wondering if you might know how to fix this.

    Thanks,

    Joel.

    Reply
      • Yes I have, but because I know nothing about code, I can’t understand any of it. I tried having a look at stack overflow, and they said the issue was related to 32 and 64 bit models, and that i should change my build settings to have armv7, armv64 or armv7s depending on what model i was building it for. but, when i go to change it, all of them are already selected to be used. I just don;t get it

        Reply
  9. Hey there Chris! I have an issue using Xcode 5.1.1
    Whenever I build the app, it just shows a parse issue, saying that it could not load the module “Darwin”. I was wondering if you might know how to fix this.

    Thanks,

    Joel.

    Reply
  10. Hey there Chris! I have an issue using Xcode 5.1.1
    Whenever I build the app, it just shows a parse issue, saying that it could not load the module “Darwin”. I was wondering if you might know how to fix this.

    Thanks,

    Joel.

    Reply
  11. Just downloaded Xcode. I have zero experience in programing, but I’m hoping I will learn something during my spare time. I love how you explained the concept. Thank you for sharing your knowledge!

    Reply
  12. All I want to do is learn Xcode and Objective-C, and run it in the simulator. It does not appear I can do this without paying $99 to join a Dev program. I am stuck at this road block. Surely there is a way around but I can’t figure it out. When I create a new project it screams at me: “No matching code signing identity found”. HELP!

    Reply
  13. Hey Chris!
    Im so excited to start this journey…you are a life saver bro!
    I have absolutely no experience, but i have a sharp mind and an unparalleled sense of ambition. Thank you!

    Reply
  14. Hi Chris
    I downloaded Xcode 5.1.1 to a MacBook Air and worked through your first tutorial. I don’t see the iPhone 5 in the Simulator. Am I looking in the wrong place or is it not in this version? Thanks

    Reply
    • Hey Martin, when you have your simulator up, you just have to change the zoom level by pressing CMD + 1 or CMD + 2 or CMD + 3 and you’ll see one zoom level has the iphone bezel.

      Reply
  15. Hi Chris. Thanks for the videos. I have 0 experience in programming. I am trying something completely new and love Apple products, so here I am. Can you recommend on how and or resources to learn the Objective C programming language? Thank you.

    Reply
    • Hey Sean, I’d recommend following as many basic tutorials as you can until you get the hang of things! It wouldn’t hurt to get a book from the library on iOS development either. You can supplement your reading with practicing from following online tutorials.

      Reply
  16. Thanks Chris, you are a blessing. THough programming is my weakness, I wanted to learn something new. Will continue to follow and learn from you. God bless you!

    Reply
      • I would like to get the full course in the future, but I do not know how yet and also, the MacBook Pro that I am using is quite slow when it was upgraded to Mavericks (13 inch 2011 model 4GB). I hope you can suggest something to make it faster with XCode besides adding RAM, deleting cache and fresh formatting (done all of these). Should I downgrade back to Lion OS? Thanks again and God bless you!

        Reply
        • Hey Ton, your configuration is very close to mine! I’m still rocking a 13 inch 2011 model but I upgraded to 8GB ram and SSD hard drive so that helps with the performance too.
          I’m running Mountain Lion and have not upgraded to Mavericks.

          Reply
          • Sir Chris, should I revert back to Mountain Lion? Would there be still an existing installer (free or sold) out there? Would it be still okay to upgrade to 8GB RAM but still remain 500GB Hardisk? Thank you so much sir, you have been very helpful to newbies in programming like me. God bless you and your family. More power!

          • Hey Ton, unfortunately i can’t give you any advice on reverting to Mountain Lion because I haven’t done it.. i have no experience here and I’m not sure what will happen. Maybe Google it to see if others have done it?

            Upgrading to 8GB ram and keeping your existing hard disk will still improve your performance definitely!

          • Thank you sir Chris. For now, I cannot continue studying because of the slowness. According to the service center, I still have to wait for weeks to avail of RAMs. But sir, I am interested in learning game development. Any free resources you know? God bless you as always sir and your family as well!

          • Thank you sir Chris, you have been very concerned to the likes of us that are still starting to develop games. I hope I could give time to this though I don’t know how to start yet. 1 week vacation might help. God bless you and your family as always sir Chris!

  17. Chris
    I do apologize but I did not read far enough to understand that a MAC was needed to create IOS apps. I assumed that there might have been a way yo write code on a windows based machine and or do this on the IOS device. The investment takes me out of the running for the time being. I would like to watch the videos that you have done because it appears to be similar to C programming and I had at one time took a stab at C. The iPhone and iPad are my first intro into Apple devices. I’d used programs liked Photoshop and other Adobe products long ago when they were first translated into the Windows format and I can see the similarity in Visual C so perhaps I can follow along to understand how to define the objects and then work around the logic to call objects into play and them I’ll know if it’s worth going farther. IOS is important to me because the majority of music and art apps are Mac based while Windows was a business machine most engineering apps were converted to Windows and ultimately replaced the Apple application like AutoCAD which was also important to my practice as an engineer.
    In the mean time, you can remove me from your mailing list as I’m not likely to Change platforms at this time on a fixed income.
    Thank you and good luck. I will be happy to spread the word on you tutorials though my social network links.
    Best regards
    Dennis

    Reply
    • Hey Dennis, thank you for your kind words!
      Unfortunately I tried to unsubscribe your email attached to your disqus profile but my mailing list software didn’t find it. If you can contact me using the link at the top of the site with your email address, i’ll manually remove you. Otherwise, in the next email that you get from me, there should be an “unsubscribe” link at the bottom of the email and you can just click that!

      PS. Not sure if you’ve already explored this option, but there’s a service called macincloud that let’s you do development on Mac virtual machines for a fee per month (i think its $10-$15/month). I haven’t used it myself but they tout their service for iOS development on their homepage.

      Thanks again!

      Reply
  18. Hi Chris, when I create a project, the three checkboxes beneath the ‘Devices’ popup does not appear – can’t figure out why! I am using XCode 5.0.2.

    Reply
    • Hey Ken, the reader below is correct!
      Hm. i added annotations to the video to point out any differences in Xcode 5.. While the video is playing, there’s a little “gear” icon in the video player controls bar. You can click that to turn the annotations on.

      Thanks!
      Chris

      Reply
  19. Hi Chris,
    I’m so excited i found this, because i have been looking for something free. I download Xcode 5 and it asks me for a Company Identifier. What do i put there?

    Reply
    • Hey Marissa, thanks for watching and following along!

      If you’re watching hte video, one thing for you notice that’s different is that you’ll have Main.storyboard whereas I’ll have a xib. Don’t worry, just treat your storyboard as the same thing.

      If you’re following the text version, then thats ok because i’ve updated the text.

      For your question on the company identifier, did you miss the text in the article?

      Company Identifier: This is to identify your app. You can fill in com.companyname. Your app will turn out to be com.companyname.projectname.

      It’s just part of the unique identifier for your app. You can put your own name or your company name if you have one.

      Let me know if you have anymore questions!

      Reply
  20. What is the difference in the app templates in the new project window. Can you explain some of the main differences or reasons as to why we use the single view application?

    Reply
    • Hey Rip, the different project templates just changes what your starting files are. No matter what template you choose, it won’t restrict you from doing one thing or another.

      For example, the single view application starts you off with a storyboard where you’ll customize your view and a single view controller which manages that view. A blank template will not start you off with anything. A tabbed app template will start you off with a TabViewController instead that is meant for managing multiple tabs. I haven’t used any of the others before so i can’t comment much on the others!

      Reply
  21. Hi Chris,
    Great to find a good coach! DAY 1 here but excited about the journey ahead! I downloaded Xcode (lastest version 5.0.2) and followed along with your video tutorial. Good Stuff and keep it coming!

    Reply
  22. Hi Chris! First of all, thank you so much for making these videos, they really are a lot of help for us who do not have a lot of experience with coding apps. I’ve read through the comments here, and I see some other people have the same struggles as I do; When I create a new project an “!” sign saying “No matching code signing identity found” comes up, and then some other text underneath it again. I have registered a developer account, but not payed anything. I also tried the “Code Signing” in the “Build Setting” suggestion you suggested in a comment below, but it did not help. What should I do?

    Reply
    • Hello Eirin, hmm so if you have both set at “don’t code sign”, can you check in the upper left hand corner that you’ve set to run on the simulator rather than “iOS device? See screenshots.

      Reply
    • Eirin

      This will go away when you pay to join the iOS developer program. You have to join the iOS developer program if you want to upload your apps and test them on an actual iPhone or iPad device. The device simulator in Xcode is very good but live testing is even better. Hope this helps.

      Reply
  23. i have tried setting up a new project like you describe and I have the latest Xcode software but when I create a new project I get an “!” Sign saying I have “No matching code signing identity found”

    is this a problem ??
    and i have selected iphone while creating project as u have described.

    Reply
    • Hey Varun, all you have to do is click the root project node in the file navigator to see the project settings in the right hand side. Then click “Build Settings” tab and scroll down to “Code Signing” and select “Don’t code sign”. Here’s a screenshot:

      Code signing is needed when you’re going to deploy the app on a device.
      Hope that helps!

      Reply
      • This setting is already done. But the problem still exist.
        and i am using mavericks 10.9 on vmware ver 9.
        one more thing,when i run a project xcode crashes and say xcode quit unexpectedly..

        Reply
        • Hey Varun, the code signing issue and the Xcode crashing issue are two separate things i think. The crashing may be software conflicts with VMware + Mavericks + Xcode? Regarding the code signing error, can you send me an email using the contact link up top? Then when i reply, you can send me your xcode project as an attachment. Thanks

          Reply
        • Hey Varun, a thought just occurred to me: at the top left hand corner, do you have it set to deploy to Simulator or iOS device? You’ll want it set to simulator. (see attached screenshot)

          Reply
  24. Hi Chris,

    I tried to install Xcode, but it’s telling me this;
    “Xcode can’t be installed on “Macintosh HD” because Mac OS X version 10.8.4 or later is required.”

    I try to see if there is any software updates, but there isn’t. Do you know what I need to do to get version 10.8.4 or later? Thanks!!!!

    Reply
  25. Hi Chris,

    Great start on the series. I have a HW product that I will be developing an app for. I’ve watched your YT channel and you have a real gift for making the complex accesible. like the approach you are taking of organizing the training around practice exercises. On the Xcode tutorial you might want to explain that it is not necessary for people to pay $99 for an Apple developer account. They do however need to register, which thy can do using their Apple ID (same as they use for itunes), Perhaps include a link to the page

    https://developer.apple.com/register/index.action

    Reply
    • Hey King i recently learned about a website called MacInCloud.com which will allow you to “rent a mac” in the cloud. Check it out! Unfortunately I’m not well versed w/ Android. Sorry!

      Reply
  26. Hello Chris, When running the project I get the error:
    Springboard failed to launch application with error: -3
    What’s causing this to happen? I am using Xcode 5

    Reply
    • Hey Bjorn,

      I’d recommend to reset the iOS simulator to see if that gets rid of the error. When the iOS Simulator is the active window, click the menu bar at the top to find the menu item “Reset Content and Settings” and choose that to reset the simulator.

      Reply
      • Thanks for responding!
        I tried to reset the content and settings of the iOS simulator but that did not solve the problem, iOS simulator still stays on a black screen for a few minutes and after that I get the error again..

        Reply
    • Hey Bjorn, I discovered this seems to be an Xcode 5 bug that many are experiencing. This has worked for many people: reset the iphone simulator (there’s a menu item saying “Reset Content and Settings”) and then quit the simulator (i.e. command q) then start it again

      Reply
      • Hey Chris,
        I have reset the simulator and then quit it, this solved my problem!
        Thank you very much! I hope they fix this bug soon..
        Keep on the good work with your tutorials! They are very good and clear to follow!

        Reply
  27. Hey Chris,

    I have practically zero programming experience and your videos have helped me out a lot. I appreciate the amount of work you’ve put into your youtube channel and this website, it’s all nicely done. As long as you keep doing videos I’ll keep watching! Thanks again.

    Reply
  28. And what about windows emulators like vmware? I have installed it and I can use my PC to emulate MAC. Is this a proper approach?

    Reply
    • Hello emobs, in theory that should work.. but i’ve never tried that. Please let me know if you’re able to run Xcode and see the iPhone simulator through vmware!

      Reply
      • Just want the readers know, I am able to run xcode5 on my windows laptop thru VMware. It works with no problem.
        Only problem is the performance. It is a bit slow but I can work.
        Do write to me, if anybody needs help in this.

        ~ Nithya
        Nithyaasworld@gmail.com

        Reply
        • Thank you for your offer to help others Nithya! I also discovered another service for Windows users recently called: macincloud.com so check that out too!

          Reply
  29. I just watched 3-4 of your videos last night. I see you took them off your website to update them to xCode 5. Great job from what I have seen so far. I am a trainer myself, and appreciate your visuals and approach to this topic. Thank you! I look forward to the updated videos!

    Reply
  30. I have tried setting up a new project like you describe and I have the latest Xcode software but when I create a new project I get an “!” Sign saying I have “No matching code signing identity found”

    Please help. I’m hoping I don’t have to buy anything to be able to use this program. I have already registered as an app developer but not paying anything yet and I haven’t been able to use this program yet?

    Reply
  31. Hey Chris!

    Thanks for all your the great video! Really found it useful. I’m planning to start a new group in my high school but I’m not an expert myself either. Can you tell me the basic language codes you use like the else if code and looping?

    Thanks

    Reply
  32. Hi Chris,

    So far so good. But how do I get to the next part? It would help if you have the “NEXT” button to go to the next part. Thanks.

    Reply
    • Thanks for the feedback Hugh, i’ll add that next button! For now, if you click “Start Here” at the top of the site, you’ll see the list of lessons.

      Reply

Leave a Comment

112 Shares
Share
Tweet
Pin
Share
Buffer