Starting iOS Development…

…for less than the price of Visual Studio

This is a list of the minimum requirements for developing an iOS app and deploying it in the App Store. You will need:

  1. Intel-based Mac with at least 4GB RAM (min price: £609)
  2. Xcode (free)
  3. iOS Developer Program membership (£59 to run apps on iOS device and deploy in App Store)
  4. Objective-C book or course (min price: £30)
  5. iOS book or course (included above)
  6. iPad, iPhone or iPod touch (min price: £169)
  7. Bitmap or vector drawing application, artistic skills (min price: £17.49)

Minimum total outlay: £884.49. That's less than Microsoft Visual Studio 2010 Professional with MSDN, which costs £1,249, before you even buy a computer to run it on.

Here are some more details about each of the items you need.

1. Intel-based Mac with at least 4GB RAM

Any of the current range of Macs will be fine as long as you upgrade the lower-spec ones from 2GB to 4GB. Without the extra memory, running your app on the iOS simulator could be slow at times. The cheapest options are:

  1. Mac mini (£609). Cheapest if you already have a monitor, keyboard and mouse.
  2. 11" MacBook Air (£929). The screen isn't big enough for serious development so you will still want to add a monitor and most likely a keyboard and mouse too.
  3. 21.5" iMac (£999). Much more powerful than the other two options, has a quad-core Core i5 processor and you don't have to buy any additional accessories.

Although it may be tempting to use a virtual machine hosted under Windows, the Mac OS licence does not permit this. The only legal place to run a Mac OS VM is under Mac OS itself. The only legal place to run Mac OS is on Apple hardware.

2. Xcode

This is Apple's Integrated Development Environment. It's used for developing applications for Mac OS X and iOS. It includes all the features you'd expect to find in an IDE: code editor, debugger, screen designer, data modeller, source control integration, on-line documentation library.

Switching from Visual Studio is relatively straightforward as long as you follow a good tutorial. If you don't follow a tutorial you will probably struggle because although they both do similar things, the way in which they do them is different.

Xcode includes iPhone and iPad simulators. This means that if you wish, you can do most of your development without using any iOS hardware.

Xcode is a free download from the Mac App Store.

3. iOS Developer Program membership

You can sign up as a developer at developer.apple.com without paying anything. This allows you to download SDKs and run and debug apps under the iOS simulator on your Mac.

Paid membership allows you to run and debug apps on an iPhone, iPad or iPod touch. It is also a pre-requisite if you want to distribute your apps in the App Store. Price is £59 for individuals and companies, or $299 for companies wishing to deploy in-house apps. This is the price for the entire company—there are no per-seat charges.

4 & 5. Objective-C book or course, iOS book or course

If you are developing for iOS, you will have to learn Objective-C. This is the language used by the iOS API, so there is no avoiding it! If you are proficient at C++, Objective-C will be straightforward to learn if you follow a good tutorial. It will be more of an effort if you are used to writing in C or C#.

The best approach is to find a book or course which teaches Objective-C and iOS together. I used iOS Programming - The Big Nerd Ranch Guide, 2nd Edition by Conway & Hillegass. This is now slightly out of date in several important areas, so I would recommend the 3rd edition, which covers Xcode 4.3 and Automatic Reference Counting (price is about £30 from Amazon). ARC is an important addition to Objective-C (it makes life a lot easier) and Xcode 4.3 introduced a number of changes so it is vital to work from a up to date tutorial.

6. iPad, iPhone or iPod touch

It's wise to test your app on the hardware you plan to deploy it on, so you should have at least one iOS device for this purpose. It will need to be authorised for development use but this is easily done using Apple's developer website (you need to be a paid-up member of the Developer Program).

Debugging is surprisingly fast and responsive so you might find that you run your app natively more frequently than you first expected. If your app makes extensive use of multi-touch gestures, running natively is the only option - although the simulator can mimic basic gestures, it cannot do the more complicated ones.

7. Bitmap or vector drawing application, artistic skills

This might seem unimportant but its essential if you are deploying your app in the App Store. All apps must have a high quality icon measuring 512x512 pixels (other smaller sizes are also required). That's large, so it's important that it's well drawn. If you don't have an icon of this size, you can't submit your app!

Photoshop is a popular choice but it's expensive and difficult to master. A good vector graphics application is iDraw (available in the Mac App Store for £17.49).the advantage of using vector graphics is that it's easy to scale your icon to all the different sizes iOS requires.

Details are correct as of April 2012.

More by Nick Jarman

My Book

Collecting Bang & Olufsen

More than just Beocentral in book form, this book explores the history of Bang & Olufsen and highlights some of its most important products. It contains over 400 completely new photographs, all taken specially for the book. Buy it now from Amazon!

My Sites

Beocentral

The definitive Bang & Olufsen reference site, covering all products available since 1965, featuring top quality photography and detailed descriptions.

Walkman Central

The Beocentral philosophy applied to Sony Walkmans, with the same attention to detail in photography and descriptions.

Other Work

Quiet PC

The market leading supplier of PC cooling and quietening products. I redeveloped their site for its re-launch in 2006.

CameraLabs

A great site of unbiased digital camera and lens reviews run by Gordon Laing, former Editor of Personal Computer World magazine. I added a few finishing touches to the site before its launch.