【发布时间】:2014-09-15 23:32:52
【问题描述】:
是否有一个概念验证的 Objective-C 可执行文件,它使用 Apple 事件而不是 AppleScript 将一些文本输入应用程序,然后单击鼠标?
例如AppleScript 等价于
tell application "System Events"
tell process "Safari"
keystroke "Hello World"
click
end tell
end tell
它应该可以在 Mac OS X 10.9 上运行,最好是面向未来的(向后兼容性无关紧要)。上下文是我将从另一种语言调用 Objective-C 代码。
我这么说是因为我读到了:
从 Mac OS X 10.7 开始,低级 Cocoa API (NSAppleEventDescriptor) 仍然缺乏基本功能(例如发送 Apple 事件),而高级 Cocoa API(脚本桥)缺陷太大, 仅限于作为 appscript 样式包装器的可行基础。
和:
NSAppleScript 只能在主线程上安全使用
所以,我的目标是:
- 任何应用程序(按名称或当前)
- 任何键盘输入或鼠标
- 来自 C 或 Objective-C
- 几百毫秒内
谢谢!
【问题讨论】:
标签: objective-c cocoa scripting-bridge appleevents nsappleeventdescriptor