0

StatusItem としてのみ表示されるエージェントを作成する試みの開始点として、Cocoa の「ステータス バー」チュートリアル ( http://cocoatutorial.grapewave.com/tag/status-bar/ ) を使用しました。

このアプリケーションにはメインの NSWindow オブジェクトがなく、関連付けられた 3 つの NSPanel があります。1 つの NSPanel は Application Preferences ウィンドウとして機能し、他の 2 つの NSPanel はユーザーに短いテキストを入力して OK ボタンを押すだけです。

設定パネルは、次のように NSMenuItem を介して起動されます。

NSMenuItem *showPrefsMI = [[NSMenuItem alloc] initWithTitle:@"Show Prefs" action:@selector(makeKeyAndOrderFront:) keyEquivalent:@""];
[showPrefsMI setTarget:prefsPanel];
[menu addItem:showPrefsMI];

XCode 内からアプリケーションをビルドして実行すると、すべて正常に動作するように見えます。ただし、Finder などから Xcode の外部からアプリケーションを実行すると、これらのウィンドウはまったく表示されません。

さらに、XCode 内から動作を複製することができます。設定パネルを表示してからクリックすると (たとえば、この Safari ウィンドウをクリックすると)、設定パネルが消えてしまい、二度と表示されなくなります。環境設定パネルを再表示するには、XCode 内からアプリケーションを物理的に停止してから再度実行する必要があります。

誰の助けにも感謝します!

4

0 に答える 0