6

MacBook で DropBox を使用している場合は、登録プロセスが完了したら、それを見たことがあるはずです。メイン ウィンドウ アプリケーションを閉じてドック項目から削除しますが、アプリケーションはステータス メニューから実行されます。


ビジュアル:

ここに画像の説明を入力


私がこれまでに行ったこと:

  • 私のアプリケーションは show NSWindow で完全に動作します
  • フロント アプリケーション ウィンドウからログインすると、ポップオーバー付きのステータス メニュー アイコンを作成できます。
  • このステップでは、NSWindow と Dock アイコンを削除しますが、ステータス メニューからアプリケーションにアクセスできる必要があります。

これを達成する方法は?

参考までに: 私はコードを期待しておらず、理解または簡単なヒントを期待しています。私は残りを把握します:)


私が参照しているリソース、

後でlaunchd用にアプリを構成します。したがって、システムの起動時に起動して、ステータスメニューに表示されます。今、私は良いリソースを見ています(もちろん、Apple Docなので良いです)が、私は素朴なプログラマーなので、誰かが良い例のリンクを持っていますか? 起動時にアプリケーションを追加する方法を示していますか?

編集:

このチュートリアルに従って、スタートアップに追加します。後でユーザーは、必要に応じて設定を変更できます。アプリをオンにするか、スタートアップでオフにするかを選択できます

4

3 に答える 3

4

アプリをステータス メニューのみとして実行するには、次のいずれかのキーを info.plist ファイルに追加します。

Application is agent (UIElement)

また:

Application is background only

2 つの切り替えについては、最善の方法はわかりませんが、セットアップ プロセスを独自のアプリにすることをお勧めします。(アイコンとウィンドウを持つアプリ) メニュー項目アプリ内にアプリを含め、ユーザーがプログラムを起動すると自動的に起動します...

于 2012-06-01T01:53:25.573 に答える
2

Teak が述べたように、info.plist に「Application is agent (UIElement)」キーが必要です。このキーは、ドックアイコンがないことを意味します...これはあなたが望むものです。ただし、「アプリケーションはバックグラウンドのみ」キーを使用する必要はありません。このキーは、不要なウィンドウを画面に表示することを防ぎます。だから私はこの鍵を外します。

一般に、起動時にウィンドウが自動的に表示されないようにアプリをセットアップします。起動時に何らかのチェックを行い、構成が必要かどうかを確認します。その場合は、構成ウィンドウを表示します。ステータスメニューに「構成...」メニュー項目を含めることもできるため、ユーザーは必要なときにいつでも構成ウィンドウを開くことができます。とても簡単ですが、「アプリケーションはバックグラウンドのみ」の info.plist キーを使用しないでください。

ちなみに窓を手前に出すのはちょっと難しいです。秘訣は、このようにアプリケーションを最初に前面に出すことです...

[NSApp activateIgnoringOtherApps:YES];
[someWindow makeKeyAndOrderFront:nil];
于 2012-06-01T08:38:37.553 に答える