回答:
はい、できますが、私が知っている唯一の方法は、ドックアイコンも非表示にします。
アプリケーションのパッケージ内の「Info.plist」という名前のファイル(Sherlock.app/Contents/Info.plist)を変更する必要があります。このファイルをお気に入りのテキストエディターで開き、次のセクションを追加します(既に存在する場合は、文字列タグの0を1に変更します)。
<key>LSUIElement</key>
<string>1</string>
出典:プログラムのDockアイコンを隠す-Macworld Mac OS Xヒント
macOSの最新バージョンでは、LSUIElementに文字列を設定しないでください。代わりに、次のようにブール値を使用する必要があります。
<key>LSUIElement</key>
<true/>
OS X 10.8より前では、代わりにこれを使用します(LSではなくNSに注意してください):
<key>NSUIElement</key>
<string>1</string>
Info.plistで文字列としてLSUIElementを1に設定できます。
<key>LSUIElement</key>
<string>1</string>
アプリケーションスイッチャー、Dock、および強制終了ウィンドウからアプリケーションを削除します。また、メニューバーも削除されるため、FinderまたはiTunesで実際に使用することはできません。
Info.plistを編集すると、10.8で起動時にTextEditやChessなどのアプリケーションがクラッシュします。また、署名されたアプリケーションのコード署名も無効になるため、キーチェーンに自動的にアクセスすることはできません。
http://www.cocoabuilder.com/archive/cocoa/141753-lsuielement-and-lsbackgroundonly.html:
NSUIElementは減価償却されます。ただし、数年前にApple(Apple DTS)で働いていたことから、NSUIElementとLSUIElementは同じものにマップされていることをはっきりと覚えています(少なくとも私がそこにいたときは戻っていて、それが変わっていただろうと思います)。NSUIElementは減価償却されますが(NSは次のステップを意味します!LSは起動サービスを意味します)、これらはすべての意図と目的でまったく同じものです。
LSUIElementとNSUIElementは両方とも引き続き機能し、両方をtrueまたは整数として1に設定することもできます。
grep -A1 [LN]SUIElement /Applications/*/Contents/Info.plist
情報プロパティリストのキーリファレンス:サービスキーの起動:
LSUIElement
(String
-OS X)アプリがエージェントアプリとして実行されるかどうかを指定します。このキーが「1」に設定されている場合、Launch Servicesはアプリをエージェントアプリとして実行します。エージェントアプリは、Dockまたは強制終了ウィンドウに表示されません。通常、バックグラウンドアプリとして実行されますが、必要に応じてフォアグラウンドに移動してユーザーインターフェイスを表示できます。エージェントアプリに属するウィンドウをクリックすると、そのアプリがイベントを処理できるようになります。Dockとloginwindowは、エージェントアプリとして実行される2つのアプリです。
魔女にはアプリケーションを無視するオプションがあります:
アプリケーションスイッチャーとDockを無効にしました。主にキーボードショートカットとAlfredを使用してアプリケーションを切り替えます。
LSUIElement
Slackのinfo.plistを設定すると、起動時にクラッシュしました。
短いアンカー:GhostTileを試してください。有料ですが、できる限り試してみてください(Sublime Textからアイデアを盗みます)
ロングアンサー:
私の知る限り、これを達成するには2つの方法があり
ます:1.エージェントとしてアプリをセットアップします。たとえばLSUIElement
、アプリのInfo.plist にキーを追加したり、アプリのアクティベーションポリシーをに設定しNSApplicationActivationPolicyAccessory
ます。
2. Dockまたはその他の関連システムプロセスをフックして、一部のアプリを無視します。El CaptianのSIP(Rootless)に感謝します。推奨されていません。
GhostTileは、Dockからアプリを非表示にすることに重点を置いています。使いやすく、非表示のアプリを管理するための複数の方法を提供します。ディスク上の変更はないので、アプリのコードサイン署名を壊すことはありません。
その他の機能:
パーティーに遅れてすみませんが、実際、以前の回答やコメントが述べているように、これにより一部のアプリケーションが起動時にクラッシュする可能性があります。以前に別のMacで動作させることはできましたが、この動作をYosemiteで動作させることはできません。TotalTerminal Info.plistを変更しても何も行われず、変更するApplications/Utilities/Terminal/Info.plist
とクラッシュが発生しました。
@atreatがコメントの1つで言及したように、TotalTerminalのメンバーは、単純なコマンドでこの非表示をサポートしています。
defaults write com.apple.Terminal TotalTerminalHideDockIcon -bool YES
これは私にとって完璧に機能しました。
iPhoneを使用していて、App Switcherからアプリを非表示にするという同様の問題がある場合は、BlacklistSwitcher9などをインストールできます。