Піктограма LibStatusBar зникає при запуску додатка сторонніх розробників


152

Я написав твіт для 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"];

Я також спробував використовувати методи, запропоновані у libStatusBarфайлі README

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

Я спробував -(id)initзмінити і оновити піктограму там, але такий же результат.

Код, показаний вище, викликається з static voidфункції. ця функція викликається кілька разів, наприклад з- -(void)applicationDidFinishLaunching:(id)application під %hook SpringBoardі-(void)ringerChanged:(int)changed

Всі всередині Tweak.xm. Проблема трапляється і в iOS7.

Відповіді:


2

Минув час, коли я користувався libstatusbar, але якщо ви абсолютно впевнені, що LSStatusBarItemйого не випускають, можливо, це сховано Springboard або іншим додатком. Розгляньте налаштування icon.visible = YESпрямо. Ви також можете розглянути питання про створення timeHiddenна LSStatusBarServerв NOявному вигляді з допомогою виклику [item setHidesTime:NO].

Крім того, якщо ви не вносите жодних змін до значка, встановіть icon.manualUpdate = NO.

Список літератури:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.