TL;DR: ダーク テーマで特別なことをする必要はありません。NSStatusItem (または NSStatusBarButton) にテンプレート イメージを指定すると、どのメニューバー コンテキストでも正しくスタイル設定されます。
一部のアプリのステータス アイテム (PathFinder など) が既にダーク テーマで動作する理由は、StatusItem に独自のカスタム ビューを設定せず、StatusItem にテンプレート イメージのみを設定しているためです。
何かのようなもの:
_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength];
NSImage *image = [NSImage imageNamed:@"statusItemIcon"];
[image setTemplate:YES];
[_statusItem setImage:image];
これは、ステータス アイテムの状態に応じてAppKit が画像のすべてのスタイリングを実行できるため、Mavericks 以前、Yosemite および今後のリリースで期待どおりに機能します。
マーベリックス
Mavericks (およびそれ以前) では、2 つのユニークなスタイルのアイテムしかありませんでした。アンプレスとプレス。これら 2 つのスタイルは、それぞれ純粋な黒と純粋な白に見えました。(実際には、「純粋に黒」という表現は完全に正しいわけではありません。わずかに差し込まれたように見える小さな効果がありました)。
可能な状態は 2 つしかなかったため、ステータス バー アプリは独自のビューを設定し、強調表示された状態に応じて黒または白を描画するだけで、簡単に同じ外観を得ることができました。(ただし、これは純粋な黒ではないことに注意してください。そのため、アプリは画像に効果を組み込むか、ほとんど目立たない場違いなアイコンで満足する必要がありました)。
ヨセミテ
Yosemite には、少なくとも 32 のユニークなスタイルのアイテムがあります。Unpressed in Dark Theme はその 1 つにすぎません。アプリがアイテムの独自のスタイリングを行い、すべてのコンテキストで正しく見えるようにする実用的な (または非実用的な) 方法はありません。
これらの可能なスタイリングの 6 つの例を次に示します。

非アクティブなメニューバーのステータス項目は、過去の単純な不透明度の変更とは対照的に、特定のスタイルを持つようになりました。無効な外観は、別の可能なバリエーションの 1 つです。この可能性のマトリックスには、他の追加の次元もあります。
API
NSStatusItem のview
プロパティとして設定された任意のビューは、これらのバリエーションをすべてキャプチャする方法がないため、10.10 ではそれ (および他の関連する API) は非推奨です。
ただし、シード 3 では NSStatusItem に新しい API が導入されています。
@property (readonly, strong) NSStatusBarButton *button NS_AVAILABLE_MAC(10_10);
この API にはいくつかの目的があります。
- アプリは、独自のカスタム ビューを設定しなくても、ステータス アイテムの画面位置を取得 (またはポップオーバーを表示) できるようになりました。
- NSStatusItemの
image
、title
、 のような API の必要性を取り除きます。sendActionOn:
- 新しい API のクラスを提供します
looksDisabled
。これにより、アプリは、カスタム イメージを必要とせずに、標準の無効/オフ スタイル (オフのときの Bluetooth/Time Machine など) を取得できます。
現在の (非カスタム ビュー) API で実行できないことがある場合は、それに対する拡張要求を提出してください。StatusItems は、すべてのステータス アイテムで標準的な方法で動作または外観を提供する必要があります。
詳細な議論はhttps://devforums.apple.com/thread/234839にありますが、ほとんどすべてをここに要約しました。