当用户与应用程序交互时,applescript和循环停止(在Yosemite上)

当用户与应用程序交互时,applescript和循环停止(在Yosemite上),applescript,infinite-loop,Applescript,Infinite Loop,如果这是一个愚蠢的问题,请原谅,我已经编写cocoa应用程序很长时间了,但直到最近才开始让它们可以编写脚本 使用此特定应用程序编写脚本效果良好。但是如果脚本有这样一个循环 tell application "myApplication" repeat set someProperty of someObject to someValue delay 0.5 end repeat end tell (这实际上是一个循环连接灯泡颜色的脚本,因此它确实希望成为一个无限循环。)

如果这是一个愚蠢的问题,请原谅,我已经编写cocoa应用程序很长时间了,但直到最近才开始让它们可以编写脚本

使用此特定应用程序编写脚本效果良好。但是如果脚本有这样一个循环

tell application "myApplication"
  repeat
    set someProperty of someObject to someValue
    delay 0.5
  end repeat
end tell
(这实际上是一个循环连接灯泡颜色的脚本,因此它确实希望成为一个无限循环。)

。。。当一切都在小牛身上运行时,没问题。但是在约塞米蒂,如果用户与myApplication的UI交互,那么事情就停止了。脚本继续运行一段时间(myApplication中没有发生任何事情),然后脚本停止并超时(-1712)

someObject类中someProperty的“setter”返回void,我已经通过发送给控制台的消息确认,它在每次调用时都正确返回


这种行为是预期的吗?是否有明显的问题我做错了?

这不是一个愚蠢的问题,我认为这是操作系统中的一个错误,因为我的应用程序显示了同样的问题,这在过去一直有效。我可以通过添加一个空闲计时器来解决这个问题,它只查找和处理苹果事件。这不是一个真正的解决方案,而是一个实用的创可贴:我觉得求助于拉式事件模型,而不是依赖于现有的(和以前工作的)推式事件模型是非常不雅观的。当你浏览菜单栏中的菜单(或跟踪任何控件)时,有人知道为什么苹果事件没有被处理吗??