Üçüncü taraf uygulama lansmanında LibStatusBar simgesi kayboluyor


152

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.

Yanıtlar:


2

Ben libstatusbar kullandığımdan bu yana bir süre geçti, ama kesinlikle yayınlanmadığından eminseniz, LSStatusBarItemSpringboard veya başka bir uygulama tarafından gizleniyor olabilir. icon.visible = YESAçıkça ayarlamayı düşünün . Ayrıca ayar düşünebilirsiniz timeHiddenüzerinde LSStatusBarServerhiç NOarayarak açıkça [item setHidesTime:NO].

Ayrıca, simge üzerinde herhangi bir değişiklik yapmıyorsanız ayarlayın icon.manualUpdate = NO.

Referanslar:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.