Way back in December, our Christmas Gift Guide featured our pick of the many OS X-related books out there. One of the recommendations was the (very excellent) Cocoa Programming for Mac OS X by Aaron Hillegass - commonly referred to as 'The Bible' in the Mac development community.
At the time the book was a little outdated -- however in the last couple of weeks an updated third edition has been published. New sections feature Objective-C 2.0, Core Data, Garbage Collection, Xcode 3 and Core Animation, meaning this third edition is all ready for many of the new technologies in Mac OS X Leopard.
At just $32 (via Amazon.com), this updated version clearly ought to be on every developer's bookshelf (and aspiring developer's wishlist).
Over at Theocacao Scott Stevenson has posted the video of his Introduction to Cocoa talk (entitled "Best of Both Worlds") aimed at those who want to learn a bit about Apple's preferred API for building OS X applications. The talk runs to over 90 minutes and includes "an introduction to Xcode, Interface Builder, Objective-C, Mac UI standards and more."
For anyone who has ever wanted to figure out what those developers tools are all about this is definitely worth (the rather large) download (scroll down towards the bottom) though it seems that a lot of folks are have problems getting the whole file (myself included). There's also a torrent available.
Do you like Growl? Do you use Xcode? Then chances are you'll like GrowlCode. GrowlCode is a plugin to integrate Growl's on-screen alerts into the Mac OS X developer app, Xcode. GrowlCode integrates the following actions: Build Succeeded, Preprocessing Complete, Compilation Succeeded, Clean Complete, and many more.
To use GrowlCode, you will need to download both GrowlCode and Growl (which is available at Growl.info). GrowlCode is compatible with Xcode 3.0 and Mac OS X Lepoard (10.5) and Tiger (10.4). Instructions for installing can be found on the GrowlCode website.
After a brief false alarm earlier today, it looks like beta 2 of Xcode 3.1 (including the iPhone-ready version of Interface Builder) is actually released. A word of warning: Apple's servers are getting hammered right now, and it may pay to wait a while before downloading the 2.1 GB package.
While you wait, you can peruse the release notes for Xcode and for Interface Builder. Never hurts to read the documentation. Have a good weekend, all you iPhone coders!
P.S. One of our loyal tipsters, PJ, noted that he sent us an email about 36 hours ago with his surmise (based on a link he saw, behind the Apple developer site login wall, to a Beta 1 -> Beta 2 diffs manifest) that the revised iPhone SDK might be imminent. PJ, for the record, you guessed right.
A MacRumors post suggests that the recently released, "Intel-only" iPhone SDK works on PowerPC Macs as well. According to the post, it worked fine on a iBook G4 running Mac OS X Leopard. The post did go on to say that Xcode displayed an error message upon trying to build a project, saying that the "target architecture does not match." Errors like these are to be expected, but at least those PowerPC-using developers can start to develop for the iPhone. There is no word yet on how the $99 digital certificate will work on the PowerPC Macs.
You know what they say about those who can't code, they blog about those that can. It is in this spirit that I offer up XcodeTemplateFactory. If you don't find yourself using XCode on a regular basis I'll save you a few moments and tell you to stop reading this post now. Check out the MacBook Paper again. Funny, right?
Ok, are they gone? Good, it is now just me and you, dear developer! Now, you'll get a whole lot more out of XcodeTemplateFactory than I will, but it is my duty, as an influential and powerful blogger, to point you in the right direction. You're probably swimming in a ton of XCode projects, and every time you set up a new one you curse the sky because you must keep setting the same things over and over again. XcodeTemplateFactory lets you keep a special project which is set up just the way you like, and from which you can deploy new projects. All the projects deployed from the template are set up just like the original. It'll save you time, and it won't cost you a dime (that rhyme was also free).
XcodeTemplateFactory is a free, open source utility from Hog Bay Software, makers of TaskPaper (which I quite enjoy).
If you haven't seen this roundup yet, Matt Gemmell's huge list of everything Leopard can do for developers is pretty amazing. It's a bit on the technical side, but worry not-- about 1/4 of the way down the page you'll think that this is a list only for developers, and if you keep scrolling you'll start to see that (somewhere around the "HUD windows" part) Apple has broken open almost all of their interfaces to developers of all makes and models. Everything from menus to date formatting is updated in Leopard's developer applications, and there's lots of "freebies" that will make even smaller programs better-- icons and images, an image editor, and a built-in grammar checker can all be easily implemented in any Leopard apps.
As hot as this operating system is (and yes, despite the problems that folks are having with it), the really good stuff is yet to come. When talented programmers and designers get their hands on these tools, then we'll really see why it's so great to be a Mac user.
Toxic Software's posted a useful little script if you spend any amount of time in Xcode-- because manopen is having trouble with Leopard, John punched up a shell/Applescript to open man pages directly from within Xcode's command line. It's tiny (and doesn't really do much-- just opens an Xcode Help menu item), but it seems useful-- straight from the command line, you can break out the man page within a GUI, and just keep right on coding.
Because the script uses UI scripting, you've got to enable an option in Universal Access preferences, but then just toss the script in your PATH and you're good to go. I can't imagine it's hugely relevant for everyone out there (I haven't put anything together from the command line in Xcode in a while), but anyone building stuff there will probably appreciate it.
And if viewing pretty man pages from the command line is your thing, Atomicbird Software came up with a script that breaks out man pages in PDF form. If you love working from the command line but love reading man pages in something a little easier to browse, today's your lucky day.
We've mentionedseveral of Ankur Kothari's interesting Quicksilver projects. Now he's back with a kind of do-it-yourself SDK and tutorial on building your own Quicksilver interface. He offers an Xcode Project Template to get your started, along with some code explanations.
Unfortunately I'm nowhere near competent enough to make good use of this information, but those who are should find much of interest in customizing one of TUAW's favorite utilities.
A few tipsters have dropped us notes (thanks!) that on Apple's Developer Tools page, there's a new tool. Along with Xcode and Dashcode, there's a new, very pretty app called Xray. The flavor text itself says the app takes "interface cues from timeline editors such as GarageBand," so what we're looking at here seems to be a realtime application tester and analyzer.
The three windows in the screenshot show stats on "Network Traffic," "CPU Load," and "Reads/Writes," and Apple also says devs will be able to track user events and even the OpenGL video driver. Looks like it will bring all the new tracking tools and analysis junk (technical term) together in a browsable, graphical interface, which means an easier time for devs, which means better apps for all of us. Groovy!
We've noted many of the hacks out there for the Apple TV. Now Alan Quatermain has released a full-fledged Software Development Kit for BackRow, the pared down version of OS X that runs on the Apple TV. It includes several frameworks, an Xcode project template, and perhaps most importantly a BackRow test application, "which simulates the basics of the Apple TV software system." This should, in principle, make future software plugins even easier to produce for standard Mac developers.
The BackRow Developer's Kit is a free download from Alan's site.
Over at AwkwardTV, Eric Steil III has added a new tutorial showing you how to build Apple TV compatible screen savers. In a nutshell, if you can create your own or copy an existing Quartz Composition, you can incorporate it into an XCode project to build an Apple TV compatible frss plug-in. You'll need to feel comfortable with both XCode and Quartz to make the most of this tutorial.
Regular readers know we here at TUAW love Quicksilver. Indeed, I think it is my single favorite application (and that it remains free is just mind-boggling to me). Anyway, despite a ton of built-in functionality and plethora of plugins to add more, you may still find there are a few things your best Mac buddy can't do. So why not write your own plugin? If, unlike me, you can get over the hurdle of not actually knowing how to code, there's still the issue of the lack of adequate documentation for writing a Quicksilver plugin. And so the "Vacuous Virtuoso," Ankur Kothari, comes to the rescue with an on-going series devoted to writing a Quicksilver plugin with Xcode in Objective-C. So far, only the first two parts are available (an Introduction, and an Anatomy of a plugin), but three more parts are planned. So all you developers out there fire up Xcode and get to extending and expanding our beloved Quicksilver!
In one of our Ask TUAW posts, we were asked about resources for learning how to develop applications on the Mac. We've previously mentioned Scott Stevenson and Cocoa Dev Central and now he's back with a very richly illustrated introductory Learn Cocoa tutorial that slowly takes you through building your first Cocoa application with Xcode, even if you have no prior experience. Now it's true that it's not much of an application in the end, but nonetheless it's a start, and a way to begin learning of the riches of Mac software development. So set aside a few minutes to run through the tutorial, and even if you're like me and barely know which end of Xcode is up, you too can say you've programmed for the Mac!
Scott asks for a donation if you find the tutorial worthwhile.
We overlooked Xcode 3.0 (and Interface Builder 3.0) in all the WWDC hubbub, though I bet that many developers are very happy with the direction Xcode is going in. Xcode 3.0 has new 'iChat like' notifications, as well as speed increases (Apple claims it loads code 4 times faster than before). Xcode 3.0 supports Objective-C 2.0, which itself has new features (including the all important 'garbage collection').
Also new in Xcode 3.0 are Xray, a timeline based way to optimize your app, and Research Assistant which keeps API documentation at your fingertips without being annoying.