他のアプリケーションにサービス メニューを提供する OSX アプリケーションがあります。これは今のところ問題なく動作し、ユーザーがアプリをインストールしてログアウトし、再度ログインすると、メニューがアクティブになり、利用できるようになります (同様の投稿を参照) 。
ターミナルを開いて/System/Library/CoreServices/pbsを実行することにより、サービスメニューエージェント(pbs)をトリガーして変更されたサービスをスキャンするときに、ログアウトして再度ログインする方法は廃止されていることを知っています(これは、新しいアプリケーションは一度でも起動されます)
そこで、インストール後のスクリプトとして「pbs」を実行するインストーラー (.pkg) を提供したいと思います。驚くべきことに、インストール後に "bps" を実行することは、アプリケーションが以前に起動された場合にのみ機能します。/bin/sh
sleep 3
open /Applications/MyApp.app
sleep 3
/System/Library/CoreServices/pbs
exit 0
残念ながら、(アプリケーション固有の理由により) インストーラーからアプリケーションを直接起動したくありません。インストール後のスクリプトがターミナルと異なる動作をする理由を知っている人はいますか?