[解決済み] サードパーティアプリの起動時にLibStatusBarのアイコンが消える件
質問
CydiaのTweakで、ステータスバーにアイコンを追加するものを作りました。 ホーム画面や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
にも発生します。
どのように解決するのですか?
libstatusbar を使ってからしばらく経ちますが、もし絶対に
LSStatusBarItem
が解放されていない場合、Springboardや他のアプリによって隠されている可能性があります。 を設定することを検討してみてください。
icon.visible = YES
を明示的に設定することを検討してください。 また
timeHidden
に
LSStatusBarServer
に
NO
を呼び出すことで、明示的に
[item setHidesTime:NO]
.
さらに、アイコンに変更を加えない場合は
icon.manualUpdate = NO
.
参考文献です。
関連
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
制御が非ボイド関数の終了に達する
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] SwiftでUIAlertViewを作成するにはどうしたらいいですか?
-
[解決済み] UINavigationBarの1px下の行を非表示にする方法
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される
-
[解決済み] UITextFieldのテキストインセット?
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】Xcodeのプロセス起動に失敗しました。セキュリティ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] iOSで現在のデバイスの言語を取得するには?
-
[解決済み] ファイルはユニバーサル(3スライス)ですが、iOSの静的ライブラリのための(n)ARMv7-sスライスエラーが含まれていない、どうにかして回避するには?
-
[解決済み] iOSアプリをApple Developer Programや脱獄せずにデバイス上でテストすることができます。
-
[解決済み] iOS 11、Apple TV 4Kなどを搭載したXcode 9でワイヤレスデバッグを行う方法とは?
-
[解決済み] swiftで電子メールアドレスを検証する方法は?
-
[解決済み] Swiftで配列に要素を追加する