Escribí un ajuste para Cydia, agrega un ícono a la barra de estado. Funciona bien en la pantalla de inicio y cuando se inicia SpringBoard, también, si una aplicación ya está iniciada, funciona bien, sin embargo, si una aplicación (como Facebook o Twitter) está cerrada (completamente) y el icono se muestra, cuando Al iniciar la aplicación, el icono desaparecerá. El icono se muestra usando libStatusBar usando este código:
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"];
También intenté usar los métodos sugeridos en el libStatusBararchivo README
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
Intenté anular -(id)inity actualizar el ícono allí, pero el mismo resultado.
El código que se muestra arriba se llama desde una static voidfunción. Esta función se llama varias veces, por ejemplo, desde -(void)applicationDidFinishLaunching:(id)application
abajo %hook SpringBoardy-(void)ringerChanged:(int)changed
Todo el interior Tweak.xm. El problema también ocurre en iOS7.
