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
ます。