Recent Changes - Search:



My journals will take the place of a blog. They have moved to

Sites I take responsibility for






Places I frequent



Items for sale:


edit SideBar

Apple iOS device development

Include our styles below Infobox - invoke as >>infobox<< ... >><<

Codebox: - invoke as >>codebox<< ... >><<

warnbox: - invoke as >>codebox<< ... >><<

editingbox: - invoke as >>codebox<< ... >><<

noticebox: - invoke as >>codebox<< ... >><<

Page bread crumbs:

Pages by tags: (:listtags:)
Subscribe to this wiki: RSS Feed RSS or subscribe to this page for changes: RSS Feed RSS
496 articles have been published so far. Recent changes
(:addThis btn="custom":)

>>> This page is not yet completed. <<<
>>> Last updated at April 06, 2012, at 12:47 AM EST. <<<
>>> Please check back later or hit refresh. <<<

The eight steps to becoming an iOS developer:

From How to become an iPhone developer in eight easy steps:

  1. Buy a Mac. You'll need one with an Intel-based processor, running the version of MacOS X as XCode frequently updates and is almost always the latest version is available only with the latest OSX version which as of this writing is Lion. Personally I recommend an iMac or if you can a Macbook so you can develop portable.
  2. Download and install the SDK (software development kit. Apple provides the free SDK for iPhone development from their Developer site. This includes everything you need to get going, including the development environment Xcode, the iOS Simulator for testing, performance analyzers, interface builders and the full documentation reference library.
  3. Learn Objective C. This is the primary programming language for iOS development. See below for more information and resources for this task.
  4. Start writing something. See Getting started with your first app
  5. Sign-up as an official developer. If you plan on releasing your masterpiece at any point, you'll need to sign up with the iPhone Developer Program. The Standard cost is $99, and it involves agreeing to Apple's terms and conditions, and signing and returning the contract. Even if you're nowhere near completing the project, you'll need to sign up in order to test your code on an actual iOS device rather than an on-screen emulator. Once you're on the Developer Program you're sent a certificate, which allows you to pair up with an iOS device. I should note that there is also an iOS Developer Enterprise Program for developing in-house programs. I believe you can deploy up to 1000 signed of the same application on private phones without going through the App Store. The program currently costs $300/year so if the application you want to develop is private and you need to deploy it on more than one device this may be for you.
  6. Prepare for a few weeks of work. Depending on the time available, and your level of programming knowledge, developing an iOS application can mean as little as a couple of months' work. "Including learning Objective C, Cocoa, and OpenGL, I spent exactly six weeks on iShoot," says Ethan Nicholas. "The hardest part was adjusting to an unsafe language... after twelve years working in Java, it's very difficult to get back into the proper mindset for debugging crashes. I had one memory corruption issue where it turned out that literally only a single byte was being corrupted, and it didn't cause the program to crash until several minutes after the corruption occurred. It took me three days to find that one."
  7. Submit your app to Apple. Okay, this is the big one. "Finished games have to be submitted to the App Store using the same interface as music producers use," explains Varrall. "It's a straightforward process of zipping up the file, uploading it with a description, a large and small icon, and screenshots. If everything is alright then it usually takes Apple a week to approve the content and it finds itself in the store. If there is a problem, such as obvious bugs or Lite apps that are mentioned as demos or aren't fully featured, then this can take longer to review and ultimately reject. In this instance you can fix the issue and resubmit as many times as you like." "Any iPhone developer will tell you that the provisioning and code signing is a pain, but once I had that sorted out the submission process was trivial," agrees Nicholas. "Fill in the fields, wait a few days, eagerly anticipate your first sales report... and then watch everybody completely ignore your app as you sell fewer than 20 copies a day. iShoot wasn't exactly a resounding success in the beginning…"
  8. Adapt, market and survive! The work doesn't finish once you've made it onto App Store. As it's unlikely you'll have your own in-house QA department, some bugs and design issues may only surface when hundreds of gamers get their hands on the code. Consequently, it may be necessary to submit several alterations. And as Nicholas mentioned, don't expect an immediate response to the release – App Store is an open market, featuring around 20,000 applications and 2,000 games. To get noticed, you'll need to build a buzz around the game: engage with the development and gaming communities, start a blog about the programming process, produce screenshots and mail out press releases to iPhone news sites like Pocket Gamer, Touch Arcade and FingerGaming. And, of course, utilise social networking sites like Twitter, Facebook and Bebo. Or just produce a free demo version. iShoot was widely ignored for several weeks before Nicholas decided to produce a cut-down 'Lite' version which he made available for free. "it quickly became the #1 free application, and iShoot sales followed suit. Here is an actual graph of my daily sales from iShoot's launch through to when it became number one. To put things in perspective, you see the biggest spike before iShoot Lite was released? That tiny little bump? That was Christmas Day, when I made over $500 in a single day. I was quite excited about that at the time."

Stuart Varrall of FluidPixel kindly provided some helpful links for wannabe App developers…

The KamiCrazy iOS Game development blog

The official iPhone development site

iDevGames - a game developers site

iPhone Dev SDK - a community development forum

Mobile Orchard - Information and useful blog posts

148apps - An iOS app review site

Development resources for iOS devices:

Development outside of using Cocoa or Xcode

Hello World Application

Development on a Jailbroken phone

Steps to getting started:

First become a Registered iPhone Developer and Download the Free iPhone SDK. You will need a login to download.

Next you need Xcode for iPhone Development 3.1.n a free download for OSX 10.5.

Download from:

Finally join the Apple Developer Program ($99):

The above is needed to key sign your code. You cannot put your application on a device without this. Apple does provide a simulator for both native applications (in the SDK) and web applications via the Dashcode SDK. You can code all day long for free in the simulators. Note that web apps don't require code signing and you host those on your own site.

Now essentially you are set to start developing (or at least learn about developing) for the iPhone.


Cocoa is a framework that provides the OSX and iPhone look and feel and runs on Objective-C.

Apple resource links:

Learning Objective-C: A Primer

iOS Application Programming Guide

iOS Development Guide

iOS Web Application Development

Your First iOS Application


Xcode 3.0 tutorials

Developing iPad Applications


<b>Updated: 2010-04-03 (this article was written several years ago)</b>:

Learning iPhone Programming

Building iPhone Apps with HTML, CSS, and JavaScript

iPhone SDK Application Development

iPhone Open Application Development, Second Edition

Head First iPhone Development: A Learner's Guide to Creating Objective-C Applications for the iPhone

iPhone Application Development For Dummies

(kind of in order of ascension)

First if you are new to C++ or OOP see my C++ book list here

Programming in Objective-C 2.0 (2nd Edition) (Developer's Library) (new to OSX development but not new to non-OOP C)

"A word of advice: I urge anybody who buys this book to print off the errata on the author's website (the address is given in the book), as there are a few minor errors that might stump you if you don't. Also, if you use Xcode instead of the command-line tools, you will need to delete the contents of the automatically-generated ..._Prefix.pch file as well as the #import line at the top of main.m each time you start a project (the book only specifies the latter). The prefix file caused me some headaches in one of the later chapters."

Cocoa(R) Programming for Mac(R) OS X (3rd Edition)

iPhone Open Application Development, Second Edition

iPhone SDK Application Development

The iPhone Developer's Cookbook

Beginning iPhone Development: Exploring the iPhone SDK

Learning Cocoa with Objective-C, Second Edition (a bit dated now published in 2003)

More reviews on Hacker News

Books I found on

Learn Objective-C on the Mac (Apress: Mark Dalrymple and Scott Knaster)

Beginning iPhone Development: Exploring the iPhone SDK (Apress: Jeff LaMarche and Dave Mark)

Some useful links and articles:

The iPhone SDK: APIs Apple Didn't Want You to Know About

Helpful hints supplied by others:

From AE6RT:

For Objective-C itself, Kochan's book. For iPhone dev, I read most of the stuff on the Apple iPhone Dev Ctr - took a good week

....then take a look at the sample code on the Apple site. A great book on the subject would be helpful. Are none yet.

Phone Dev Center > iPhone Reference Library > Topics > User Experience: Windows & Views > View Controller Programming Guide ... ...

All the Apple iPhone docs are available not only in browser-ready form, but also in PDF. Very helpful, as I still print and read stuff.

Kevin, the docs I found useful for UI controller programming were:


Everyone learns in their own way, and I found my way here by studying the SimpleDrillDown sample app also available on the Apple site. Somehow these two docs brought the UI piece into clearer focus.



ae6rt @kevininscoe and about 1 hour ago from twhirl in reply to kevininscoe

ae6rt @kevininscoe about 1 hour ago from twhirl in reply to kevininscoe

Apple iPhone Under the Hood Seminar materials:

Link to the event.

Link to large image of Page 1


Link to large image of Page 2


Getting started with your first app:

Starter apps -


"Forget theory; forget mastering Objective C with your first attempt. Just set yourself a project and start working. "I knew nothing about Objective C, Cocoa, or OpenGL prior to starting iShoot. In fact I barely even knew C," admits Ethan Nicholas. "I hadn't really touched it in a decade. I was a Java programmer for twelve years and it was quite an adjustment moving from a nice safe language like Java to one where a single misplaced byte can instantly crash your program."

Nicholas' first aim – and this is more or less standard procedure in the development community when presented with a new platform – was to get something to appear on the screen. "The first thing I worked on was the ground. I wanted to create a destructible landscape with falling dirt. Since I had no idea how to load textures at that point, and had just grasped the basics of Objective C and OpenGL, my dirt "texture" was just solid white. So the first thing I got onscreen was just a white rectangle that represented the ground. My wife was fortunately tolerant enough to understand my excitement at getting anything, even just a simple white rectangle, on the screen.

"By day two, my featureless white rectangle had morphed into a properly textured landscape and most of the dirt-descruction code was working. By the end of the first week I had a tank on the screen firing shots randomly, blowing holes in the ground. When I finally got it on to an actual phone and not just the simulator, I found that it only ran at one frame per second, so I had some considerable optimisation work ahead of me."

If you can't face starting out on an original project, however, Varrall suggests a couple of modification tasks. "The SDK actually comes with a whole host of sample projects that cover most aspects of development. So the best place to start would be to take one of those and reverse engineer it and work out how it has been constructed. You can then build on these by adding new features and create your very own game very quickly."

Kevin's Public Wiki maintained and created by Kevin P. Inscoe is licensed under a
Creative Commons Attribution 3.0 United States License.

Back to my web site -

Edit - History - Print - Recent Changes - Search
Page last modified on April 06, 2012, at 12:47 AM EST