iPhone Development

How do you develop your own iPhone app and get it published to the App Store?

Many people want to know the answer to this exact same question, but don't know where to start. Developing applications for the iPhone platform may seem hard at first, but once you dive in it's not as hard as it may seem. Throughout the next few weeks, we will be publishing some good ways to get started on your first iPhone app and the process you will have to go through. Hopefully after reading this you will have a good idea about iPhone programming and, even beter, have created your own first iPhone. So, let's get started!


What do I need to get started?

It's a good idea to make sure you have everything you need before you get started. For one thing, currently you need an Apple computer to develop for the iPhone. This can be any type of Macintosh, although the newer the better. Once you have that, it is optional to have an iPhone or iPod Touch. Technically, you can develop and test your apps in the iPhone simulator on the computer which comes with the iPhone SDK, but to fully access all hardware components of the iPhone you'll have to have the device itself. For example, an application using the accelerometer that's built into the iPhone cannot be tested in the simulator.

Once you got your Mac computer and possibly an iPhone, the next thing you need is the iPhone SDK. The iPhone SDK is the official software development kit for the iPhone. It's available to third-party developers, which anyone can become. This iPhone SDK can be downloaded for free by any registered Apple developer. To become one, you can follow the instructions from this link. If you don't already have an Apple ID, you'll also have to set up one of those. Now that you're a developer, you can download the SDK and start developing. Follow this link and scroll down until you get to the section titled "Downloads". There you can download the latest version of the SDK.

Up until now, everything you have done should have been free. Getting an Apple ID, becoming a developer, and downloading the SDK are 100% free. But there's a catch. While you may be able to build your own apps and test them on the iPhone simulator using the free SDK, you're missing three important things. The first is the capablility to test your apps on an actual device. This is important, as discussed earlier, for hardware components that can't be tested using the simulator. In addition, the simulator sometimes acts differently than the iPhone or iPod touch itself, making debugging harder on the simulator. The second thing you're missing is some of the great resources online. While there is some documentation you can access for free, you can't access all the other great resources such as the developer forums. And lastly (and probably most importantly), you can't publish to the App Store.

The solution to obtaining these three things, is to join the iPhone Developer Program. This program includes these things plus more for a price of $99 a year. For that price you can submit as many apps to the App Store as you want. While the price may be too high for some people, you have to keep in mind that Apple has to make sure it balances the price so that not everybody will submit apps to the App Store and yet not only big companies will be submit them. To make sure neither of these two happen, that made sure the price was reasonable for the average developer.

The great thing is you don't have to make the decision right away. You can start downloading the free SDK and later switch to the iPhone Developer Program. Once you're ready though, follow this link and sign up! Note: it may take some time until you're enrolled in the program.

OK, so that was a lot to cover for requirements. We just wanted to make sure you know everything before we get started and don't leave anything out. If you're ready and have the SDK downloaded, then catch your breath and go to the next step...

iPhone SDK

What's in the SDK? Where do I start making my iPhone apps?

The iPhone SDK comes with a few applications. In fact, it's a huge package that is over a gigabyte big! However, most likely the three you'll use most often are Xcode, iPhone Simulator, and Interface Builder. You'll also use Instruments to test and debug your apps in real time, but less often than the other three. Don't worry, though, we'll cover Instruments later on. In short, Xcode is where you programatically do create your app (coding), Interface Builder is where you graphically design the interface, and the iPhone Simulator is where you test the app from the user's perspective. Now I'll go into more detail one by one.