- Intel-based Mac (can be a Mac Mini; I prefer a MacBook Pro that I can take with me and develop in a variety of locations, office, a playground while kids play, when I travel...)
- Xcode (free download)
Optional software I use all the time:
- Adobe Photoshop (or similar bitmap
and/or vector based image editing
software)
- Logic Pro (or similar sound editing software with a library of
sfx)
The optional stuff is not something I needed as much for other software development. It seems that on the iPhone, the audio/visual experience is as much a selling point as the functionality of the app.
As for whether a simulator is good enough, I have to say NO! The iPhone Simulator is adequate for simple apps, but it operates at a faster processing speed than iPhones and iPhone Touches, making your app run faster than it would in the real world. It also behaves differently in a number of ways, which makes it important to have a real alternative. In fact, during a day of development, I may use the iPhone Simulator for 80% of the test builds, and an iPhone OS device for the other 20% in order to make sure I am on the right track. I have two iPhones with 3.0 and 2.0 software, plus two iPod Touches. The 2.0 iPhone is the 3G, which is the slowest, then the iPod Touches are a bit faster, and the iPhone 3Gs is the fastest of the bunch. I test with all to make sure the user experience doesn t get too sluggish on the slowest.