Whether this is your first Apple computer or you are just looking to upgrade, this guide will walk you through what things to look for when buying a Mac for app development. If you're wondering if you even need a Mac to make apps, check out this post.
Xcode is the program we use to make apps for the Mac, iPhone, iPad and Apple Watch. It's created by the fine folks at Apple and is free to download. You need to make sure that the Mac you buy can run the latest version of Xcode. A good way to know if a Mac can run the latest version is to check if the operating system version is compatible with the latest version of Xcode. You can do this by searching for Xcode on the Mac App Store or by checking this page. At the time of writing, the latest version of Xcode is 6.3.1 and requires OS X Yosemite. You would want to then make sure that the Mac you buy can install or run OS X Yosemite.
In my experience, RAM is going to have the biggest impact on your coding experience. The more RAM your machine has, the more smoothly your coding will go. At a minimum, you need at least 4 GB. This isn't ideal but it will work. 8 GB is going to be the most bang for your buck. Most people don't need more than that. However, if you got the dough... 16 GB or more is going to provide the smoothest experience. The difference from 4 GB to 8 is huge. 8 to 16 is slightly better, but might not be worth the money.
Please note that with most new Apple products the RAM cannot be upgraded. So if you are buying a new machine, maybe buy a little more than you actually need so that your machine will be more "future proof". If you are buying an older Mac, check online to see if you can upgrade the ram. Crucial has a good guide.
I always recommend buying a retail Apple Store or from the official Apple website. They have the best customer service and are great with returns if you ever need one. If you are involved with education in any way (student, teacher, faculty, home school) you can get a pretty good discount through Apple Education Pricing.
If you're buying used, you want to make sure you're buying a machine that works. Because of that, I highly recommend Craigslist. You can meet up with the seller and test the machine out for a while. Another option is eBay but there is some risk with whether what you're buying actually works. I have also heard that some universities have IT clearance sales where they sell old technology for cheap. This could also be a great option.
Your three options here are a Mac Pro, an iMac, or a Mac Mini. For the Mac Pro and the Mac Mini please note that you'll have to provide your own monitor, mouse, and keyboard. All of these can be found at a second hand goods store for under $100. So now the question is which do you buy? If ya filthy rich and you know it, get the trash can. No better machine on the planet in my opinion.
So you're not filthy rich eh? Well the question is then between the iMac and the Mini. The Mini is definitely going to be cheaper. Even after getting your keyboard, monitor, and mouse the Mini is a much better deal. So if you have the budget for it, the iMac is very stylish and is a solid machine.
Maybe the biggest reason to get a laptop is the portability. I personally have a MacBook Pro and I love taking it to programming meetups, the library, on the plane, and tons of other places. Portablity rocks :)
The big value buy in laptops is the MacBook Pro that does not have a retina screen. The hard drive and RAM can both be upgraded. This is a great way to make a really fast machine. But, the retina MacBooks are VERY nice on the eyes. Also when working on a smaller laptop screen, the retinas are going to make you feel like you have more space. Then comes the question of 13" vs 15" screen. For me, the 15" is just too big. For other, they love the extra space on the 15" and claim they can't live without it. Personal preference on this one.
Also, the MacBook air and the new super slim MacBook are a fine option for making apps. I have heard the 11" Macbook air can be really frustrating with it's tiny screen but I know people that make it work.
The Final Word
So there are a lot of great Macs out there. The most important thing to be sure of is that your Mac will run Xcode. After that, the rest is really just personal preference. Let me know in the comments if you have any questions. And if you have a Mac, I'd love to hear which one and why you like or dislike it :)