Cydia için bir tweak yazdım, durum çubuğuna bir simge ekliyor. Ana ekranda iyi çalışıyor ve SpringBoard başlatıldığında, bir uygulama zaten başlatıldıysa iyi çalışıyor, ancak bir uygulama (Facebook veya Twitter gibi) kapatılırsa (tamamen) ve simge gösteriliyorsa, Uygulamanın başlatılması, simgenin kaybolmasına neden olur. Simge şu kod kullanılarak libStatusBar kullanılarak görüntülenir:
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"];
Ayrıca libStatusBarREADME dosyasında önerilen yöntemleri kullanmayı denedim
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
-(id)initSimgeyi geçersiz kılmayı ve güncellemeyi denedim , ancak aynı sonuç.
Yukarıda gösterilen kod bir static voidişlevden çağrılmaktadır . bu işlev birkaç kez çağrılır, örneğin -(void)applicationDidFinishLaunching:(id)application
alttan %hook SpringBoardve alttan-(void)ringerChanged:(int)changed
Hepsi içeride Tweak.xm. Sorun iOS7da ortaya çıkıyor.