Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

For a developer that wants to start developing software for Mac OS X, what is the best way to get started?

share|improve this question

3 Answers 3

up vote 8 down vote accepted

As thephpdeveloper stated, the first step is to get a Mac. There is no software development you're going to be able to do on a PC.

Next, you need a Apple Developer Connection account. The basic level is free, and grants you access to most of Apple's resources and developer software. One document there I think you should read before doing anything else is the Apple Human Interface Guidelines: it's far more important on Mac OS X than it is for other operating systems (see below).

Additionally, you should get a good book on Cocoa and Objective-C. I used Aaron Hillegas's Cocoa® Programming for Mac® OS X to learn Cocoa, but it's getting pretty out of date. A new edition should be coming with Xcode 4. For other ideas on reference books, check out the question Cocoa and Objective-C resources? on Stack Overflow.

Finally, a large part of developing Mac OS X software is embracing the culture: subscribe to Mac-centered blogs like TUAW, Daring Fireball, AppleInsider, and Cult of Mac. They're not going to give you insights into how to code for Mac OS X, but over time they will tell you what Mac users have come to expect from software.

That is, a large portion of maintaining goodwill and executing successful Mac software comes down to meeting and exceeding your user base's expectations. Your software could do everything imaginable, but if it doesn't have the same user experience and general attention to detail as the rest of the Mac ecosystem, people will hate it.

share|improve this answer
I would add at the end: try to get comfortable with the unix terminal and the bash shell. You will gain a lot of power and productivity from it as a Mac developer. –  Sergio Acosta Sep 3 '10 at 7:14
Install MacOS on a VM isn't good enough to start? –  bigown Sep 21 '10 at 17:07
@bigown, no, because the Mac OS X license only permits usage on Apple-labeled computers. –  user8 Sep 25 '10 at 1:03

Buy a Macintosh, install XCode and start developing.

share|improve this answer

If we're talking about .NET, you really ought to take a look at what the guys over at the Mono Project are up to. They've done some incredible work with the iPhone (MonoTouch) and native OSX development via MonoMac. Of course, you'll need to pick up a Mac (may I recommend the MacBook Pro) in order to use any of the tools. If you have projects that you want to port from .NET to Mono, you can use a tool called the Mono Migration Analyzer or MoMA. Either way, it's a great way to leverage your C# skills across multiple platforms.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.