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 libStatusBar
pliku README
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
Próbowałem zastąpić -(id)init
i zaktualizować ikonę tam, ale ten sam wynik.
Kod pokazany powyżej jest wywoływany z static void
funkcji. Ta funkcja jest wywoływana wielokrotnie, na przykład od -(void)applicationDidFinishLaunching:(id)application
Under %hook SpringBoard
i-(void)ringerChanged:(int)changed
Wszystko w środku Tweak.xm
. Problem występuje iOS7
również w.