翻译成苹果事件的AppleScript(Translate into Apple Events Ap

2019-11-05 09:03发布

我有一个非常简单的AppleScript:

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

我想看到苹果事件背后。 所以,我已经把这两个环境变量启动它启用:

export AEDebugSends=1;
export AEDebugReceives=1

现在我得到这样的输出:

osascript browser.scpt 
{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}

我希望看到在这里定义的函数调用: https://developer.apple.com/documentation/coreservices/apple_events?language=objc

我的最终目标是到AppleScript的转化为C或OBJ - C的代码。

可能有人帮助我了解输出的含义是什么?

提前致谢

Answer 1:

希望看到在这里定义的函数调用

那么,停止该期待。 你有什么是苹果事件本身 ,在AEPrint符号表示,如下解释:

https://developer.apple.com/library/archive/technotes/tn/tn2045.html

你可以用它来构建相同的Apple事件,或者您也可以使用更高级别的命令块形成的。 但无论哪种方式,它是达不到系统编写代码为您服务! 这就是苹果的盛况,通过AppleScript的为你建造。 学习阅读AEPrint符号,学习苹果事件的结构,学习手工打造同样的Apple事件,是所有的东西你必须做你自己。

只给你会用推理的一个例子:

  • 您的苹果事件与动词开始coregetd 。 这是苹果事件相当于get (在你的AppleScript的第一个字),当你从寻找在应用程序的SDEF字典学习。

  • OK,现在我们知道动词; 有什么直接的对象? 这是一个URL (注意空格,这些都是四个字母代码); 这是苹果事件相当于你的URL (同样,我们知道这个翻翻字典)。

  • OK,但什么URL ? 这是URL中的acTa ,这是active tab (再次,字典告诉我们这个等价)。

  • OK,但acTa的是什么? ...

等等。 一旦你已经打破了苹果事件到属性和元素,并以这种方式对象说明符,可以通过碳或可可命令再次建立起来。

你选择了,对于逃避我的原因,走上了一条很长的旅程。 您选择要扔掉的AppleScript符号的简单性和构建一个苹果事件的自己。 你选择了一条漫长的道路涉及多学习。 没有快捷方式; 运行时是不会写代码的你。 最长的旅程始于第一步。 开始!



文章来源: Translate into Apple Events AppleScript