我有一个非常简单的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的代码。
可能有人帮助我了解输出的含义是什么?
提前致谢
希望看到在这里定义的函数调用
那么,停止该期待。 你有什么是苹果事件本身 ,在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符号的简单性和构建一个苹果事件的自己。 你选择了一条漫长的道路涉及多学习。 没有快捷方式; 运行时是不会写代码的你。 最长的旅程始于第一步。 开始!