What You Need to Begin iOS Programming

Update: The post is updated to make it compatible with Xcode 5 and iOS 7.

Update #2: You can now refer to this sample chapter of our Beginning iOS 9 Programming with Swift book to learn what you need to start iOS programming.

So far over 600 6000 readers have signed up the free iOS tutorials. First, thanks for those joining our community. Before we begin to talk about iOS programming, let’s go through the tools you need to build your first app.

1. Get a Mac

Yes, you need a Mac. It’s the basic requirement for iOS development. To develop an iPhone (or iPad) app, you need to first get a Mac with Intel-based processor running on Mac OS X version 10.8 (or up). Probably you still own a PC, the cheapest option is to purchase the Mac Mini. The retail price of the entry model is US$599 (if you purchase via Amazon, the used model starts at US$490). You can pair it with the monitor of your PC. The basic model of Mac mini comes with 2.3GHz dual-core Intel Core i5 processor and 4GB memory. It should be well enough to run the iOS development tool smoothly. Of course, if you have more budget, get the higher model or iMac with better processing power.

2. Register an Apple Developer Account

Don’t mix this up with the paid iOS Developer Program that we’re going to talk about in later section. Everyone can register as an Apple developer for free. By registering the developer account, you’re allowed to download Xcode, access documentation of the iOS SDK and other technical resources such as development videos.

You can go to Apple’s developer website for registration. The registration process is very straightforward. Simply create an Apple ID (if you don’t have) and fill in your personal profile.

Sign up App Development Account

3. Install Xcode

To start developing iPhone and iPad apps, Xcode is the only tool you need to download. Xcode is an integrated development environment (IDE) provided by Apple. Xcode provides everything you need to kick start your app development. It already bundles the latest version of iOS SDK (short for Software Development Kit), a built-in source code editor, graphic user interface (UI) editor, debugging tools and many more. Most importantly, Xcode comes with an iPhone (or iPad) simulator so you can test your app even without the physical devices.

Sample Xcode Interface

To download Xcode, launch Mac App Store on your Mac. If you’re using the latest version of Mac OS, you should be able to open the Mac App Store from the icon in the dock. In case you can’t find it, you may need to upgrade the Mac OS.

Mac App Store icon

In the Mac App Store, simply search “Xcode” and click “Free” button to download it.

Download Xcode From Mac App Store

Once you complete the installation process, you’ll find the Xcode folder in the Launchpad.

Xcode in Launchpad

At the time of this writing, the latest version of Xcode is 5.1.1, which adds the support of iOS 7.1. For the upcoming tutorials, they’ll be based on this version. Even you’ve installed Xcode before, I suggest you to upgrade to the latest version if you’re planning to follow our tutorials.

4. Enroll in iOS Developer Program (Optional)

A common question about developing iOS app is whether you need to enroll in the iOS Developer Program. The short answer is “optional”. As mentioned earlier, Xcode already includes a built-in iPhone and iPad simulator. You can develop and test out your app right on your Mac.

Without joining the iOS Developer Program, however, the simulator is the only mean to run your apps. You can’t deploy and test the app on your device. Needless to say, you’re not permitted to submit your app to App Store. In other words, you can’t sell your app!

The simulator is powerful, however, it doesn’t simulate all features of iPhone. For instance, it doesn’t come with the camera or video capture feature. So if you’re building a camera app, the only way is to test it on a real iOS device. In other words, you have to join the iOS Developer Program!

So should you enroll in the program now? The iOS Developer Program costs US$99 per year. If you’re a new comer and just start exploring iOS development, you can rely on the simulator to test out your app first. You can wait until you have a solid plan to distribute your apps on App Store before enrolling in the program.

That’s all for today. Take some time to register your developer account and install Xcode. Once you’re ready, check out the next post and start to build your first app.

Got a question? Leave me a comment or ask it at our AppCoda Community Forum.

An Introduction to SpriteKit Part 2: Actions, Sequences and Gesture Recognizers
Core Image Introduction: Applying Image Filters to Photos
Test Driven Development (TDD) in Swift with Quick and Nimble
  • ddsmak


    Author Reply

    In the article, it mentioned OS X 10.7 and up in order to create app, can you explain the reason why Snow Leopard 10.6 will not be work?


    • Simon Ng

      Simon NgSimon Ng

      Author Reply

      Let me clarify. You may develop apps using older version of Xcode. However, only the latest version of Xcode adds the support of iOS 5.1.

      So, try your best to grab Xcode 4.3.2. If you don’t want to upgrade your Mac, you can still get the older version (i.e. 4.2) of Xcode through the iOS developer website. Simply go to the following URL and login with your Apple Developer account. You should be able to download Xcode 4.2 for Snow Leopard.

  • Guilherme Ribeiro

    I Got a second hand Mac Mini late 2009, and it’s working like a charm.

    By the way this website has been a great help, thanks so much!
    Regards from Portugal

  • Ceylon Mobile

    thanks. just staring iOS programing

  • bshih11


    Author Reply

    can i use xcode 4.6.3 to program? (using these tutorials…)

    • Simon Ng

      Simon NgSimon Ng

      Author Reply

      Yes, most of the tutorials should be compatible with the XCode 4.6 or up.

  • Anderson Pereira

    First time at this incredible site… I´m actually passing with my family a bad moment… I know lots of things and at the past make some good applications in delphi and php. Here at Argentina, we have a bad time… I will put my ALL time to learn with our site! Thanks a lot…

  • Mel


    Author Reply

    Great tut, it’s not easy finding this info and it rocked!!!!

  • atr


    Author Reply

    would i be able to use these tutorials for xcode 5.0 ?


    • Simon Ng

      Simon NgSimon Ng

      Author Reply

      The post is updated to make it compatible with Xcode 5. For other tuturials, most of them should work with Xcode 5 too.

  • YongSheng Liu

    great job!

  • Nasoohaa


    Author Reply

    So now I’m coming…
    let’s log the date when I begin my iOS learning experience in AppCoda.
    It’s: Mon June 23, 2014

  • callmewhy


    Author Reply

    Thanks a lot for such a good series of tutorial

  • Randy Tomlinson

    Last year i suffered two hefty heart Attacks and i was bound to Hospitalbed for several Weeks. I lost my Job but i did not wanted to stay at home and starve on boredom. I did a lot in PHP and Visual Basic and i tought i could try APP coding. But i was a total PC guy and had no experience in MAC Computers. So bought a MacBook Air and two Big Books about APP Programming. After i got a lil Familiar with my new Toy i downloaded XCode and shortly after i found out the UI is totally different as the one in the Book. First Disapointment. The Books promise the latest Version (for iOS 7). However i tried to work with these books but my very first success i had was with a tutorial from this very nice Website. I am delighted. Please know that i am a total newbie in XCode and first it seems a bit difficult but that might be a result of being a new MAC user. However i am keen to learn new things. Lets see how far i get. Best Wishes from Switzerland

    • Harry Purser

      Hi Randy, long time no speak. Really sorry to hear you had a heart attack. Last I heard of you, you disappeared with my Urei 1176 and £300 I’d given you for parts and labour for fixing it. It would be great if you could contact me about this at harrypurser at hotmail dot com. I wish I didn’t have to resort to this mode of communication, but, as you know, you won’t respond to my emails. Best wishes,

      Harry Purser

  • kushalashok

    I need suggestions for buying my first personal mac computer.

    I have a 40 inch 1080p 60 Hz TV already and I was planning to go for the top model of mac mini. Since further change of configuration is not available in India, I can not opt for more RAM or swap the fusion drive with SSD.

    With a maximum budget of $1100 (even with credit card EMIs), this is the only option I could think of; since it will allow me to connect the TV and use some screen estate for coding. (I like the idea of carrying around a macbook but the price difference and small screen for development again puts some constraints)

    I have been working on a 2013 mid range iMac in office. Majorly I want to use Xcode, surf internet, write blogs and watch videos. But I also like editing videos and images while using Final cut pro and Photo shop sometimes.

    Considering the fact that video editing is something I would seldom do, I am confused between the 3 models of mac mini. Should I simply buy the cheapest option or should I invest more and hope that the faster processing will pay off in terms of satisfaction and lesser waiting time?

  • Deanil


    Author Reply

    Is there a free xcode for Snow Leopard OS?

  • Naiyer


    Author Reply

    Hi This is Naiyer,
    I am new developer for ios please help me out what i do for my first project how can i start this?

  • monminthar


    Author Reply

    hello i need to ask some quastion
    If no have mac book computer can not lean programing?
    If i have just windows can use?

  • Bill Mark

    Bill MarkBill Mark

    Author Reply

    discover How To Create An Iphone Or Ipad Apps And Games Succeed In App Store!

  • ePascoal


    Author Reply

    Hi everyone,

    Is there any workaround to use a PC instead using MAC? a virtual machine in windows isn’t good enough?? please take a look on could this be a good approach for ios programming using PC?

  • Zia


    Author Reply

    Hello Dear,

    With due best wishes, i’ve a pc (Qube International QL 18345EA, Core-i3 2367M 1.4GHz., 4G DDR3 RAM, 500GB HDD).

    Can i use a mac mini with this pc & can i start mac programming with this configuration? Let me inform soon.

    Regards- Zia ([email protected]) from Bangladesh

  • Seema


    Author Reply

    great job….. tutorial as simply awesome..!!

  • Tilak D R Tenneti

    Why does Apple ChArge MonEy when andRoId plAtform Is opeN To End proGRAmmers and Today’s budding dEvelopers ‘S’houlD… not be CHALLENGEd!

  • Francisco Joachin

    if you can’t sell your apps they are only for you or can you later sell them in other programs and or how can I do that? another question would be, can the developer of the website take your app and sell it themselves.

  • sankar bathula

    Xcode support MAC 10.5.4 Version if i try to update it is update 10.6, Can i able to work on 10.5 i’m copletely new to MAC

  • Code School

    Nice article. Detailed and good starting point for new iOS developers.They can get an idea from where to start.We at CodeSchool Technologies Provide the same basics as well as advance training to our students.We have designed our syllabus ( in such a way that they will learn all the things during the iOS app development course.

  • Talha Khan

    Talha KhanTalha Khan

    Author Reply

    Sir if i convert my windows pc into mac then ?? it work or not?

  • Daniel Holtz

    Maybe you just need some simple solution and you do not need to write a code

  • Daniel Holtz

    First of all there is a lot of services which will help you to build an app online. Of cource if you need something special in a short terms you better to ask someone who can help you with it. Coding takes a lot of time and you need XP to write all of this stuff. Also SDK changes from device to device. If you need longtime support fo your app I can recommend this team:
    Of course if you don’t want to do it by yourself

  • logo bigben

    Very true facts. Now a day’s mobile application are more used by the people. So, application design also matter because better UI make more convenience for people usability. Our company also work for it you can check our different application designs on our web. App development packages .

  • sree kv

    sree kvsree kv

    Author Reply

    To get the best taxi app development-

  • Niha


    Author Reply

    That was a simple and very informative blog to read on. Kudos.

  • MLM Software

    Very Informative blog explained very easily. Ive Bookmarked this website for future reference

  • Misheal


    Author Reply

    Very informative

  • MLM software

    The way you have explained the topic is very well, appreciate you.

  • sreejitha


    Author Reply

    get the best taxi app development service from-lilac infotech
    Grab your taxi business to the next level with a customized technology solution having high-end features for your needs.

  • MLM Software

    Great article!! This article really helps those who want to built career in IOS app development.

  • MaksimMB


    Author Reply

    First of all, to develop an application, you need to assemble a good team of people who are well versed in their business. This can be difficult for new businesses, so they are better off hiring a good outsourced specialist.