2

アプリケーションが既に開いている場合に、(ファインダー内で) ユーザーがアプリケーションをダブルクリックしたことを検出することはできますか? アプリが非表示で実行されているため、これを検出する必要があり、ユーザーが「再度開いた」場合にのみ、ユーザー インターフェイスを表示する必要があります。

これが発生したときに、何らかのイベント/通知がアプリに投稿されますか?

編集: Mac OS X では 1 つのインスタンスしか許可されないことを知っています。ユーザーがアプリを再度起動しようとした場合、現在のインスタンスでメソッドを呼び出す必要があります。

編集: - (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag のように思えます。

4

3 に答える 3

1

NSApplicationDelegateを使用できます- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag

AppleEventsを再度開く(ラップする)デフォルトの動作の前に、アプリケーションによってデリゲートに送信されます。

于 2013-02-25T14:02:31.717 に答える
-1

applicationWillUnhide:アプリケーション デリゲートで (NSApplicationDelegate プロトコルから)実装します。ユーザーがアプリケーションを再表示しようとした場合に呼び出す必要があります。

于 2013-02-25T12:52:33.473 に答える
-1

-applicationDidBecomeActive:App デリゲートに実装します。

于 2013-02-25T13:09:17.940 に答える