How to write an iPhone app
With all the publicity about the success of the Apple App store, you may have asked yourself about what you need to do to write an iPhone application. Here’s your answer.
For the last year or so, Apple conference extravaganzas have been full of spotlight interviews with iPhone app developers who have enjoyed a lot of success and made a lot of money. It is difficult to see those examples and not wonder just how hard it is to write an iPhone app. That thought crossed my mind as well. A bit of research and investigation ensued, and the answer to this burning question is laid out below.
Before we get into the specific needs of programming on the iPhone platform, we may wish to think more generally for a moment. For one thing, it would be handy if you were already a programmer. If you are not, you are going to have to learn to be one. Some people find programming to be easy. Others find it to be almost impossible. If nothing else, embarking on a project involving writing an application for the iPhone will tell you which group that you fall into. If you don’t already know how to program, this is probably going to take you a lot longer than it will if you don’t. So we are going to pretend that you have some programming experience. Now, what else do we need?
An Idea
This is all-important. If you don’t have an idea for an iPhone app, the rest of this information is going to be wasted. You need to be able to see what you want to do in your mind. Don’t have one yet? We’ll wait.
( tap, tap, tap )
All right, then, there you are with an idea. It might be a game, it might be a business app, it might be a utility. It doesn’t really matter. What matters is that you now know what you want to do. Take a minute now and sketch out the interface. Think it through from the point of view of a user.
Your app needs to be of value to people. Maybe it is just fun, like a game. Maybe it makes their life easier, like a productivity program. It can be useful in one of many ways. But it must add value to your users’ lives in some way. Make sure, now, that your idea has something in it that will make people download it. There is little sense in writing an app if no one wants what you have written.
An iPhone
Yes, you need an iPhone. There is an iPhone simulator in the coding kit that you will be getting from Apple. But eventually, you are going to have to test your application on an actual piece of hardware. That piece of hardware may as well belong to you, since no one else is likely to give you one to play with. If you don’t have an iPhone, preferably the latest and greatest so that you play with all the newest features, you’d better start saving your money.
A Mac
Windows users need not apply. The Xcode application that you are going to download and use to write your application needs someplace to live, and that place needs to be an Intel-based Mac, probably a MacBook, a Mini, or an iMac, although one of the bigger Mac beasts will do the job as well. Again, if you don’t have one, it is time to start saving your money.
The iPhone Development SDK
The iPhone Software Development Kit is a free download from the Apple Website. You will need an existing user account for the store and forums, or you can sign up for a new account. Once you have done that, you can download the development kit from this link. It is very large and will take a while to both download and install. This is the same development software that is used to write software for the Mac. It is very impressive indeed.
The same page contains a large number of links to information about using the Xcode framework and the rest of the SDK to write applications. You will need to familiarize yourself with most of this information at some point during the development process. A good place to start is the 12 iPhone development basics videos. They will give you a great overview of the process and the tools.
You will need to branch out from there into the more complicated material as you learn to write Objective C, the language in which iPhone apps are written, and as you need to make more extensive use of the more esoteric and complex parts of the development kit. Even if you have never programmed before, all of the information you need to write an app is at the Apple iPhone developers site. You may want to go out and buy a relevant book or two on programming basics in order to speed up the process if you are new to programming.
Approval from Apple
You cannot just download the SDK and become an instant iPhone developer. If nothing else, you need to join the iPhone Developer Program. That happens at yet another link. Unlike the other links, this one is not free. It costs money to become an iPhone developer. Unless you want to become an Enterprise Developer, and you probably don’t, getting Apple’s approval to start developing for the iPhone will cost you $99 and a bit of time filling out an application.
Strictly speaking, you can start without their approval once you have the SDK, but you won’t get very far. You need their approval in order to get the software that allows you to test your software on an actual iPhone. You also need their approval before you can send in your app to the App Store for their approval. So this is a pretty important step. And you should take it right now. Depending on your level of expertise and the app you want to write, you may have the app done before all of the ink is dry on your application to become an approved member of the iPhone Developer Program.
Tenacity
Although the Apple Xcode SDK is an excellent product, and one which does a lot of the work for you, there is nothing easy about software development. Prepare yourself to come up against problems and to spend the effort needed to solve them. Almost all things are possible with ample supplies of logic and creative intelligence. If you know what you want to do, and if you really want to do it, you will be able to build your dream app.
More approval
This process is not an ungraded test. When you think that you are done with your part, you will need to turn in your work, in the form of a finished application package, to the Apple App Store. If you have written an uncomplicated and uncontroversial app, and if you have written it according to the book, the approval process will only take a week or two. Even if you have not, Apple will tell you what is wrong and give you a chance to fix it. This can be an iterative process, going back and forth several times before your app is approved. Apple wants you to succeed and will help you in your quest.
At the end of this process, you will see your dream app in the App Store, developed from the germ of an idea to an actual product with your own two hands at the direction of your own brain. It is like building a bookshelf, or a house, or a space station: you come away satisfied, and with a taste for more.
Related posts:


July 3rd, 2009
Um why does it need to be an intel based mac, I have a mac mini few years old that was before the chips changed to intel, why wouldn’t that work?
December 23rd, 2009
Satisified?
Sounds more like building a bookshelf in a nazi camp.
Many hoops.
$100 dollar fee.
internet access.
can’t go from xCOde to Device because the only way to get to device is from app store.
This has to be the worst excuse for a “model” ever dreamed up.
Windows users: Download a VM with Leopard on it. You can develop your mac/iphone app on your windows machines.
Xcode is a poor excuse for a Visual Studio ripoff, complete with the virtual iphone device for testing.
All of this is why in the end, smartphones will prevail.
There’s no incentive for a real development company to write iphone apps when a kid with $99 can write a fart app and sell it for .99
Are you going to pay your developers hourly wages and benefits then sell your app for .99?
In 5 years, iphones and their apps will be nothing more than fartphones.
Enjoy you pervceived supperiority.
Real Developers Need Not Apply should have been your intro…
December 28th, 2009
Thanks for the article it was very supportive and of great use to me. I agree with what Joe said about all the hassle in the build up to the dream app but somhow I think it is worth it.
December 30th, 2009
@iPod Touch Fan
You don’t need to agree with Joe. He’s just a whining, sniveling, little bitch who doesn’t understand the concept of entering into a partnership; “real development companies” do.
January 21st, 2010
May as well just carry on working on the Windows and Nokia SDK, free and available to everyone.
Sad Apple Sad
February 19th, 2010
seriously, I had no idea that a Mac was required as admission to this party. Just think how many more apps, and more interesting ones, there would be if Windows user could code them easily. Amazing.
Yeah, I’ll restrict development on my biggest selling device to creation on devices that I sell far fewer of. Aces
March 2nd, 2010
What a bunch of control freaks Crapple are! What about Open Source? What about social responsibility?
And as for iTunes – what a piece of crap that is.
March 24th, 2010
Hi Michael, thanks for the article. Quick Q: Is it necessary to have an actual iPhone to do the testing, or is an iPod Touch good enough? Thanks.
April 21st, 2010
to joe
ha, i think you need to quit whining, you are just jealous of how easy you can make money off people. Maybe you should make a fart app. Kids making fart apps sell them to… other kids. There is a bigger market so quit crying.
June 24th, 2010
Here are some tutorials for building iPhone Applications. Follow this link:
http://msmonir.tech.officelive.com
August 4th, 2010
I have an idea and I have saved some money to get a great developer to write my app where do I find someone who is honest and reliable?
Thanks
Ian
September 6th, 2010
Having a mac is hardly a requirement for programming. You can build your own computer with twice the power of a mac for half the price. Virtually no prior knowledge of computers is required. You’re only paying for the privilege of jumping on the bandwagon with a mac.
October 14th, 2010
BTW, all farting applications are free, and who said that big boys don’t like them, the purpose of making these applications is purly fun, by the end we want to learn and make money, I am fan of both, apple and windows at the same time, there is no limit for learning…
November 8th, 2010
Yep. You folks are all surely correct. Then again, the people that built this model are doing well in most of the ways once can imagine. I’m sure that all of the people complaining here about how things work with iOS4 apps are doing much better in life than Steve Jobs and Apple.
March 8th, 2011
Again, we Windows users can’t get on the Apple bandwagon… we are committed Windows users with an idea and can do nothing about it because we can’t write it in Apple-specific code! I have a great idea for an app, possibly worth thousands of dollars, and can’t put it to use because I don’t have a Mac. People like me are destined to be poor for the rest of our lives.