【问题标题】:Get Apple Events from AppleScript从 AppleScript 获取 Apple 事件
【发布时间】:2018-12-04 20:46:02
【问题描述】:

我有一个简单的 AppleScript,它告诉我特定浏览器中活动窗口的 url

tell application "Opera"
   get URL of active tab of window 1
end tell

但是我希望看到运行该脚本所需的 Apple 事件,可能是其中的一些:https://developer.apple.com/documentation/coreservices/apple_events?language=objc 我的最终目标是编写相同的脚本,但使用 Apple 核心服务。

我已经检查了脚本编辑器,但我没有看到显示该信息的任何选项卡或菜单。有什么方法可以翻译那个脚本吗?

提前致谢和问候

【问题讨论】:

  • 为什么?从头开始构建 Apple 事件是一件非常痛苦的事情,而旧的 C API 尤其晦涩难懂。最好的方法是通过AppleScript-ObjC bridge 调用 AppleScript,这使得 AppleScript 脚本对象和处理程序在您的 ObjC/Swift 代码中显示为 Cocoa 类/实例和方法。

标签: macos applescript macos-carbon appleevents


【解决方案1】:

是的,有几种这样的方法。我最喜欢的是使用Script Debugger,它只是将 AppleScript 转换为原始 Apple 事件。或者,您可以在 export AEDebugSends=1; export AEDebugReceives=1 一直是 turned on 的环境中运行 AppleScript。

【讨论】:

  • 两种方法我都试过了,我看到了这个:{core,getd target='psn'[Opera] {----={form=prop,want=prop,seld=URL,from ={form=prop,want=prop,seld=acTa,from={form=indx,want=cwin,seld=1,from=NULL-impl}}}} attr:{csig=65536 returnID=15130} 你能帮助我了解发生了什么?
  • 是的,但不在此问题的 cmets 中。我回答纠正了您提出的问题;你的评论证明了这一点。那就是您要求的原始 Apple 事件。您不知道如何阅读它是另一回事。
  • 然后添加了新问题,stackoverflow.com/questions/53638803/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-22
  • 1970-01-01
  • 2017-05-02
  • 1970-01-01
相关资源
最近更新 更多