I know you have to have mac os x to use xcode and thus to develop/compile apps for the iphone. And I’m not exactly wanting to go the hackintosh way, so I’m looking at buying a used mac.

What specs are recommended. If I buy a cheap mac mini that has only 1gb of ram would that be enough? (I’m not talking about using that to create the graphics/audio, I’ll use my normal windows/ubuntu pc for that). I’m just talking about being able to use xcode and write applications.

I’m trying to spend the least amount I can without running into problems developing the app.

I use two machines regularly while doing iOS development — a late 2009 quad core i5 iMac and an 11″ MacBook Air. Both machines have their pluses and minuses, but both are more than capable enough for the job. Basically it comes down to buying what you can afford and what you feel comfortable with. Any Mac sold by Apple today has more than enough power for iOS development.

If you go with a used Mac, I would try to stick with the 64-bit capable Macs rather than a 32-bit only like the original MacBook, MacBook Pros, iMacs and Mac minis. The only reason I recommend this is that Apple typically drops support for some machines every time a new major OS X release is done. And the 32-bit Macs are looking like the most likely candidates for being dropped with Lion. The other side of this is that Apple also has been keeping iOS developers on the latest OS X release — the latest SDKs are now requiring 10.6.6, for example.

Don’t skimp out on RAM — 1GB of RAM is not enough to keep MacOS X, Xcode, Interface Builder and the simulator happily in RAM all the time. You will not be very happy with just 1GB of RAM. 4GB of RAM is fairly cheap these days — even on some of the older machines where Apple says it can only take 2GB you can actually toss in 4GB and get about 3.5GB of memory. The Core 2 Duo MacBooks are like this, probably some of the Mac minis as well.

On the iOS device side, you’ll obviously need at least one device to develop and test with. The cheapest option is the 8GB iPod touch. But if you are intending to make a real game to release, you’ll want to have other devices as well. At the very least, you should have one of each device for each generation you want to support — so if you are only targeting the current generation, that would be an iPod touch and an iPhone 4. If you want to target the prior generation, you should have those as well. You can get away with not having the newer hardware if all you have is an older device, but I wouldn’t recommend only having the newer hardware while also targeting the older devices. There are huge differences in how OpenGL and the CPU performs on some of the devices and you really don’t want to find out about those differences while reading the reviews for your app. And then there is the iPad as well to consider as well…

If you already have a good PC, you could indeed turn it into a Hackintosh (dual-boot OS X or whatever) to run Xcode and do the programming, and then transfer your code to a low-powered Mac Mini when it’s all ready. It is of course against Apple’s terms to actually publish an app from a hackintosh system (whether they actually detect it is another matter; I don’t know the answer to that), but code is code. It’s just text. Who’s to say what you wrote it on?

You could write an iOS app on a clay tablet, and as long as you transcribe it into OS X before the final compile and publish, you’d be fine. :)

The big concern is that is has to be able to run Snow Leopard, the latest version of Mac OSX, in order to run the latest version of xcode. As long as it can run that, you can do your development on it.