Napisałem poprawkę dla Cydii, dodaje ikonę do paska stanu. Działa dobrze na ekranie głównym, a po uruchomieniu SpringBoard również, jeśli aplikacja jest już uruchomiona, działa dobrze, jednak jeśli aplikacja (taka jak Facebook lub Twitter) jest zamknięta (całkowicie) i ikona jest wyświetlana, kiedy Po uruchomieniu aplikacji ikona zniknie. Ikona jest wyświetlana przy użyciu libStatusBar przy użyciu tego kodu:
if(icon) // if icon needs to be removed
{
[icon release];
icon = nil;
}
...
// add the icon to the status bar
icon = [[%c(LSStatusBarItem) alloc] initWithIdentifier:[NSString stringWithFormat:@"muteIconLablabla"] alignment:StatusBarAlignmentRight];
icon.imageName = [NSString stringWithFormat:@"Mute"];
Próbowałem też skorzystać z metod sugerowanych w libStatusBarpliku README
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
Próbowałem zastąpić -(id)initi zaktualizować ikonę tam, ale ten sam wynik.
Kod pokazany powyżej jest wywoływany z static voidfunkcji. Ta funkcja jest wywoływana wielokrotnie, na przykład od -(void)applicationDidFinishLaunching:(id)application
Under %hook SpringBoardi-(void)ringerChanged:(int)changed
Wszystko w środku Tweak.xm. Problem występuje iOS7również w.