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 libStatusBar
README dosyasında önerilen yöntemleri kullanmayı denedim
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
-(id)init
Simgeyi geçersiz kılmayı ve güncellemeyi denedim , ancak aynı sonuç.
Yukarıda gösterilen kod bir static void
işlevden çağrılmaktadır . bu işlev birkaç kez çağrılır, örneğin -(void)applicationDidFinishLaunching:(id)application
alttan %hook SpringBoard
ve alttan-(void)ringerChanged:(int)changed
Hepsi içeride Tweak.xm
. Sorun iOS7
da ortaya çıkıyor.