Take the 2-minute tour ×

I am developing a piece of code which where I would like to dynamically update the badge of the application, so show its status. Pretty regular.

I am using this following API

[[UIApplication sharedApplication] setApplicationBadgeString:@"x"];

My problem is that when I try to use this API multiple times within an application session, the badge which is displayed on the Springboard does not get updated.

My use is

//Check if user is logged in then
[[UIApplication sharedApplication] setApplicationBadgeString:@"On"];

//wait for network event

[[UIApplication sharedApplication] setApplicationBadgeString:@"Off"];

Any help will be much appreciated.


share|improve this question
add comment

1 Answer

What you're describing works perfectly on my end.

This is an undocumented API, so I can't confirm, but perhaps it needs to be executed on the main thread, not a background one.

Also, be advised that because this is a private API, its use is grounds for rejection from the AppStore.

share|improve this answer
add comment

Your Answer


