How do I draw a badge on my Dock icon using Cocoa?

A quick google search turned up the NSDockTile class. Seems pretty self-explanatory once you take a gander at the documentation.


Use

 [[[NSApplication sharedApplication] dockTile] setBadgeLabel:@"2234"];

This method, and the NSDockTile class, has been available since Leopard.


It should be noted that NSDockTile is only available on Leopard. If you need to target Tiger you'll need to use -setApplicationIconImage: on your NSApplication object and draw your badge by hand.

Also, it's not in the documentation outside of the release notes that I could find but you get your application's dock tile by sending the dockTile message to your NSApplication object.

NSDockTile *tile = [[NSApplication sharedApplication] dockTile];
[tile setBadgeLabel:@"Lots"];