我有一个 OSX 应用程序为其他应用程序提供服务菜单。到目前为止,这工作正常,在用户安装应用程序并注销并重新登录后,菜单被激活并可用。(见类似的帖子)
我知道在触发服务菜单代理 (pbs) 以通过打开终端并运行 /System/Library/CoreServices/pbs 来扫描更改的服务时,注销和重新登录已过时(这也可以在没有新的情况下工作应用程序启动一次)
所以我想提供一个安装程序(.pkg),它运行“pbs”作为安装后脚本。令人惊讶的是,仅当应用程序在之前启动时才能在安装后运行“bps”,例如:#! /bin/sh
sleep 3
open /Applications/MyApp.app
sleep 3
/System/Library/CoreServices/pbs
exit 0
不幸的是,(由于应用程序特定的原因)我不想直接从安装程序启动我的应用程序。有谁知道为什么安装后脚本的行为与终端不同?