Saya menulis tweak untuk Cydia, itu menambahkan ikon ke status bar. Ini berfungsi dengan baik di layar beranda dan ketika SpringBoard diluncurkan, juga, jika aplikasi sudah diluncurkan maka itu berfungsi dengan baik, namun, jika aplikasi (seperti Facebook atau Twitter) ditutup (sepenuhnya) dan ikon ditampilkan, saat meluncurkan aplikasi, itu akan menyebabkan ikon menghilang. Ikon ditampilkan menggunakan libStatusBar menggunakan kode ini:
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"];
Saya juga mencoba menggunakan metode yang disarankan dalam libStatusBar
file README
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
Saya mencoba -(id)init
mengganti dan memperbarui ikon di sana, tetapi hasilnya sama.
Kode yang ditunjukkan di atas dipanggil dari suatu static void
fungsi. fungsi ini dipanggil beberapa kali, misalnya dari -(void)applicationDidFinishLaunching:(id)application
bawah %hook SpringBoard
dan-(void)ringerChanged:(int)changed
Semua ada di dalam Tweak.xm
. Masalahnya juga terjadi iOS7
.