Ikon LibStatusBar menghilang pada peluncuran aplikasi pihak ke-3

152

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 libStatusBarfile README

[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...

Saya mencoba -(id)initmengganti dan memperbarui ikon di sana, tetapi hasilnya sama.

Kode yang ditunjukkan di atas dipanggil dari suatu static voidfungsi. fungsi ini dipanggil beberapa kali, misalnya dari -(void)applicationDidFinishLaunching:(id)application bawah %hook SpringBoarddan-(void)ringerChanged:(int)changed

Semua ada di dalam Tweak.xm. Masalahnya juga terjadi iOS7.

La bla bla
sumber

Jawaban:

2

Sudah lama sejak saya menggunakan libstatusbar, tetapi jika Anda benar-benar yakin LSStatusBarItemitu tidak dirilis, mungkin itu disembunyikan oleh Springboard atau aplikasi lain. Pertimbangkan pengaturan icon.visible = YESsecara eksplisit. Anda juga mungkin ingin mempertimbangkan pengaturan timeHiddenpada LSStatusBarServerke NOeksplisit dengan menelepon [item setHidesTime:NO].

Selain itu, jika Anda tidak membuat perubahan apa pun pada ikon, atur icon.manualUpdate = NO.

Referensi:

JAL
sumber