简单的AppleScript
activate application "Safari"
Safari已打开(但未激活)时,有时最多需要10秒钟才能完成。我使用这样的AppleScripts在使用Spark的程序之间进行切换,但是使用AppleScript编辑器或使用命令行在命令行上会发生类似的延迟
osascript -e 'activate application "Safari"
所以延迟不是在Spark本身中。出现此问题的不仅是切换到Safari,而且也不是每个程序都如此。例如,Chrome能够持续快速激活。其他特别慢的应用程序是Evernote和Terminal。
缓慢发生在Safari未被激活一段时间(例如,超过一分钟)之后。如果我使用类似的脚本快速连续地在程序之间切换,则只有第一次切换很慢。后续切换很快。因此,它似乎与OS进程有关,而不仅仅是AppleScript。
另一方面,如果我使用Cmd-Tab切换程序,则在选择应用程序后它会快速加载,因此,看来缓慢与AppleScript激活有关。
AppleScript的细微变化没有区别;例如,
tell application "Safari" to activate
使用应用程序的完整路径也没什么区别。
这是在2014年中的Macbook Pro上10.14.1上的版本,内存为16GB。当我从Sierra升级到Mojave时,情况似乎变得更糟了,但是现在,我认为Sierra也存在一些问题。多年来,我一直在通过Spark使用相同的AppleScripts,而当我启动时,它总是非常快。