Edit AllPages

Title:** Advanced Mac OS X Programming **Author: MarkDalrymple and AaronHillegass Publisher:** Big Nerd Ranch **Release Date: Sept 2005 List Price:** $69.99 (but, of course, you can buy it for $48.99) **ISBN: 0-9740785-1-4 (First edition was 0-9740785-0-6)


For a couple of years, Big Nerd Ranch has been quietly publishing a great book called “Core Mac OS X and Unix Programming.” The book discusses how the plumbing of Mac OS X works, and how you as a programmer can leverage the power hidden there. It covers topics like multithreading, exceptions, NSTask, Distributed Objects, Bonjour, CFRunLoop, the keychain, directory services, and network programming with sockets. It also covers the tools: the debugger, the compiler, the linker, and the performance tools. The book is the natural sequel to “Cocoa Programming for Mac OS X.”

This is the second edition of that book. In light of Apple’s decision to prefix the name of every new technology with the word “Core”, we have renamed the book “Advanced Mac OS X Programming.”

The new edition is longer (646 pages) and less expensive (MSRP $69.99, but you can get it from us for $48.99). It has been brought up-to-date with Tiger, Xcode, gcc 4.0, Universal binaries, the new Cocoa exceptions, and 64-bit code. We now cover Subversion rather than CVS. We’ve added a chapter on kqueues. We’ve added discussions of launchd and @synchronize. The discussion of the CHUD tools has been expanded.

You can get the complete table of contents, browse the reviews of the first edition, and order the book here:

Online resources are here:

To order the book for $48.99, please visit or call (800) 247-6553.

*Amazon Link:


*Aspects of Cocoa are covered in the book, such as chapters on NSTask, Distributed Objects and Rendezvous, along with some interactions that Cocoa has with the underlying OS (Cocoa and threads, performance techniques, using Berkeley sockets in the Cocoa runloop). Much of the Unix stuff explains what’s going on under the hood of things like NSFileManager, NSFileHandle, NSTask, NSPipe, etc., to (hopefully!) make it easier to track down problems. There is also usage of NSBrowser and NSComboBox ++MarkDalrymple

*Great Book - Recommended Reading (2)

*Mark and Aaron were kind enough to give me a review copy for a slashdot review - I’ve submitted it there, and will link to it here when it shows up. Meanwhile, my impressions are that it’s a really useful book. I learned a lot of handy tips from it, and really enjoyed the book. Thanks for the opportunity to review it, guys! My only regret is that there isn’t an animal on the cover that we could use to refer to the book. Somehow the ‘pinwheel book’ doesn’t have the right ring.


*Update (6/20/03): Since I don’t know when/if Slashdot will put the review up, you can see it here: *Update (7/01/03): It’s shown up on slashdot:

*Nice review! Thanks, Michael

*Another review:

The review is a bit short and not quite as positive (8/10) as Michael’s review.

Yeah, and they left my name off of the review :-( ++MarkDalrymple

*iDevGames has a nice review:

*More positive comments:


*Awesome book! Highly recommended. This definitely fills the gap. It was tough, but well worth the 3 weeks without beer needed to save for it. ;-)

I’ve spent that much and more on college textbooks that I barely cracked and I’ve been immersed in this book since I got it.

*Looks like the Apple Student Developer crew likes it too:

*I just received (December 1, 2003) an envelope from the Big Nerd Ranch with the “Lost Chapter”. It is being sent to those people who purchased the book at the full price. They now are trying to clear their inventory (as the book was published five months ago). But, I guess they do not want to alienate those who purchased it at the full price, which is why they are offering this extra chapter. The new chapter is not available to those purchasing the book at the new price, $65. The “Lost Chapter”, Chapter 26, shows how to make an installer for your software. –AlexanderD

Small loss for the others. It may be said that in most cases, making an installer for your software (particularly one that needs to escalate privileges) should be criminalized. But let’s not discuss that here. If there are further comments, make a separate page for it. It is somewhat bombastic to make a special deal for laying out this information. OF course, I’m being a little bombastic myself here. :-) – BoozeDog