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.

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.

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.

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

Once you complete the installation process, you’ll find the Xcode folder in the 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.
Comments
ddsmak
AuthorIn 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?
Thanks
Simon Ng
AuthorLet 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.
https://developer.apple.com/devcenter/ios/index.action
Guilherme Ribeiro
AuthorI 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
Authorthanks. just staring iOS programing
bshih11
Authorcan i use xcode 4.6.3 to program? (using these tutorials…)
Simon Ng
AuthorYes, most of the tutorials should be compatible with the XCode 4.6 or up.
Anderson Pereira
AuthorFirst 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
AuthorGreat tut, it’s not easy finding this info and it rocked!!!!
atr
Authorwould i be able to use these tutorials for xcode 5.0 ?
thanks
Simon Ng
AuthorThe post is updated to make it compatible with Xcode 5. For other tuturials, most of them should work with Xcode 5 too.
YongSheng Liu
Authorgreat job!
Nasoohaa
AuthorSo 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
AuthorThanks a lot for such a good series of tutorial
Randy Tomlinson
AuthorLast 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
Randy
Harry Purser
AuthorHi 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
AuthorI 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
AuthorIs there a free xcode for Snow Leopard OS?
Naiyer
AuthorHi 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
Authorhello 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
Authordiscover How To Create An Iphone Or Ipad Apps And Games Succeed In App Store!
http://bit.ly/1Ma14sV
ePascoal
AuthorHi 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 https://blog.udemy.com/xcode-on-windows/ could this be a good approach for ios programming using PC?
Zia
AuthorHello 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
Authorgreat job….. tutorial as simply awesome..!!
Tilak D R Tenneti
AuthorWhy does Apple ChArge MonEy when andRoId plAtform Is opeN To End proGRAmmers and Today’s budding dEvelopers ‘S’houlD… not be CHALLENGEd!
Francisco Joachin
Authorif 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
AuthorXcode 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
AuthorNice 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 (http://codeschooltech.com/ios-training-in-pune-best-ios-training-institutes-in-pune-ios-courses-in-pune/) in such a way that they will learn all the things during the iOS app development course.
Talha Khan
AuthorSir if i convert my windows pc into mac then ?? it work or not?
Daniel Holtz
AuthorMaybe you just need some simple solution and you do not need to write a code
Daniel Holtz
AuthorFirst 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:
https://woxapp.com/en/ios-apps-development/
Of course if you don’t want to do it by yourself
logo bigben
AuthorVery 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
AuthorTo get the best taxi app development-https://lilacinfotech.com/what-we-do/taxi-booking-app-development-india
Niha
AuthorThat was a simple and very informative blog to read on. Kudos.
MLM Software
AuthorVery Informative blog explained very easily. Ive Bookmarked this website for future reference
Misheal
AuthorVery informative
MLM software
AuthorThe way you have explained the topic is very well, appreciate you.
sreejitha
Authorget 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.
https://cabture.lilacinfotech.com/
MLM Software
AuthorGreat article!! This article really helps those who want to built career in IOS app development.
MaksimMB
AuthorFirst 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. https://mobilunity-bpo.com/how-to-find-a-trusted-seo-expert-for-hire/