优胜美地的Osascript破碎/慢 - 任何人都可以确认?

时间:2015-07-01 15:52:35

标签: macros applescript yosemite

在10.8次中,我在Keyboard Maestro中创建了一个宏,用于将网页添加到“提醒”列表中以便稍后阅读。

在Mountain Lion和Maverics中,它运作良好,但在优胜美地出现了一些错误,导致执行非常缓慢。

以前执行时间约为1-2秒,现在超过40秒甚至一分钟!

Apple团队向我提供了错误的解决方案,命令“代码签名”我的脚本,但没有“文件”到codesign,applecripts可以在命令行执行。因此IMO他们在osascript中搞砸了一些东西,直到10.10.4仍然无法修复它。但我需要有人确认或建议我如何调试问题,因为我无法在系统控制台中找到与问题相关的日志行。

更新: 关于El Capitan 10.11.1问题仍然存在。

Macro

有人可以测试并确认吗?我提供了宏的链接。 它当前绑定到F1 - 随意更改。在执行之前,在OSX上的Reminders中创建“2Read”列表。

2 个答案:

答案 0 :(得分:0)

我已经尝试过,它在我的机器上大约1-2秒完成。所以我没有遇到和你一样的问题。

我在2013年末的MBP Retina上运行OS X 10.10.4。

也许你的“2Read”列表太长了?

另一个提示:

我曾经在Applescript中遇到长列表问题。有时需要几分钟才能完成列表的运行,但是在使用了these tips之后,列表的时间又回到了几秒钟。

答案 1 :(得分:0)

从你的pastebin链接(是的,我确实警告过你,看起来像肉馅饼):

键盘大师事件日志

(1)KM发送' open'将事件(' aevt / odoc')告诉Growl,告诉它打开一个临时文件(可能是为了让Growl显示一条消息)

(2)调酒师发送一个“获取脚本”的术语'事件(' ascr / gdut')到KM

(3)调酒师发送' BTDR / Load'事件到KM,看起来像Bt告诉KM加载名为" BartenderHelperNinetyOne.bbundle"

(4)KM发送' KeyC / KeyB'事件到某事(它没有给出进程的名称,只有它的进程序列号,这是一个等同于Unix进程ID的经典MacOS)。可能最容易向KM开发者询问那个。

(5,6,7)KM然后发送三个应用程序死亡'键盘Maestro引擎的事件(' aevt / obit')我猜测这是一个在后台不断运行的不露面辅助应用程序,告知它有三个osascript进程(PSN 312312, 315315,316316)已经终止。这并不一定意味着osascript已崩溃,因为这些事件包含值为0的错误号(' errn')参数,并且命令行进程通常返回错误代码0以指示它们'已成功完成。很可能这些是KM和KME之间发送的正常内部通知,用于指示任务何时完成。第一个osascript流程(PSN 312312)与下面的提醒活动有关;另外两个我猜测你在运行其他AppleScript宏,可能与此无关。

提醒事件日志

(1,2,3)' osascript'使用PSN 312312的过程发送提醒“生成”#39; ('核心/ crel')事件和两个'设置' ('核心/已设置')事件,显然是您的AppleScript正在运行。

(4)Dock发送一个'重新打开' (' aevt / rapp')事件,这可能只是你点击提醒'停靠图标将其带到前面。

当然,主要的问题是没有时间戳,我无法告诉你40秒的延迟发生在哪里。您真的需要再次执行此操作,这次手动记录每条消息的记录时间。如果你在中间的某个地方看到一个40秒的延迟,它应该很容易确定它们之间发生了哪些事件,这应该开始指向一个原因。此时,您可能最好联系KM供应商与他们讨论。

HTH