第三方应用程序启动时,LibStatusBar图标消失

La *_*bla 152 cydia jailbreak ios libstatusbar ios7

我为Cydia写了一个调整,它在状态栏中添加了一个图标.它在主屏幕上工作正常,当SpringBoard启动时,如果某个应用程序已经启动,那么它工作正常,但是,如果一个应用程序(如Facebook或Twitter)关闭(完全)并且图标显示,当启动应用程序,它将导致图标消失.使用以下代码使用libStatusBar显示图标:

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"];
Run Code Online (Sandbox Code Playgroud)

我也尝试使用libStatusBarREADME文件中建议的方法

[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
Run Code Online (Sandbox Code Playgroud)

我尝试覆盖-(id)init并更新那里的图标,但结果相同.

上面显示的代码是从static void函数调用的.这个函数被多次调用,例如来自-(void)applicationDidFinishLaunching:(id)application under %hook SpringBoard-(void)ringerChanged:(int)changed

全在里面Tweak.xm.问题也在发生iOS7.

JAL*_*JAL 2

我已经有一段时间没有使用 libstatusbar 了,但是如果您绝对确定它LSStatusBarItem没有被发布,那么它可能被 Springboard 或其他应用程序隐藏了。icon.visible = YES考虑明确设置。您可能还需要考虑通过调用 显式设置timeHidden为。LSStatusBarServerNO[item setHidesTime:NO]

此外,如果您不对图标进行任何更改,请设置icon.manualUpdate = NO

参考: