Application Badges

With the iPhone's numerous different connections—EDGE, WiFi, and Bluetooth (not to mention the cellular network)—lots of things can happen while you've got that little device stuck in your pocket. Without some notification to the user that there are pending notifications, they're likely to miss everything that's happened while they were busy having a real life. Application badges are small message bubbles that appear on the program's SpringBoard icon. Application badges are used heavily by Apple's preloaded applications to alert the user to missed calls, voicemail, text messages, and email.

One of the nice features about these types of badges is that the application doesn't necessarily need to be running for the badge to display on the SpringBoard. This is useful in serving as a reminder to the user even after they've exited the application. This also means you'll need to clean up any lingering badges when your program exits.

Displaying an Application Badge

Application badges are one of the easier features to take advantage of, requiring only one call to the UIApplication class.

 [ UIApp setApplicationBadge: @"Hi!" ];

The setApplicationBadge method takes an NSString object, which can be built with standard string formatting.

NSString *badgeText = [ [ NSString alloc ]
    initWithFormat:@"%d", numNewMessages ];
[ UIApp setApplicationBadge: badgeText ];

Removing an Application Badge

An application badge should be removed when the user has clicked to the page with the ...

Get iPhone Open Application Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.