常に実行する必要があるアプリがあります (ユーザーがこれに同意した場合)。
ユーザーがアプリを終了すると、フォアグラウンド アプリを LSUIElement に変換します (アプリにはメニュー バー アイコンしかなく、ドック アイコンとメニューが消えます)。
メニュー項目にオプションがあり、正常に機能し、LSUIElement をフォアグラウンド アプリに変換します (関数[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]とを使用します[NSApp activateIgnoringOtherApps:YES])。
ユーザーがアプリをダブルクリックすると、私の問題が発生します。[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]私はデリゲートメソッドで再び使用しapplicationWillUnhide:(NSNotification *)notificationますが、表示されないメニューを除いてすべてうまくいきます。別のアプリに移動してから戻ってきた場合、メニューが表示されます。いろいろな方法を試してみましたが、良い方法が見つかりませんでした。
私が知りたいのは、ユーザーがアプリをダブルクリックしたときに呼び出されるデリゲート メソッド、またはその瞬間に呼び出される関数です。関数で を使用するのは遅すぎるNSApplicationと思うからです。setActivationPolicy:applicationWillUnhide