我可以在MacOSX应用程序中使用Apple脚本命令吗?

时间:2016-12-16 15:47:27

标签: xcode applescript

我想使用的某个API仅适用于AppleScript以从应用程序请求信息。我想构建一个MacOSX应用程序,我可以在这个应用程序中使用Apple脚本吗?有没有工作来实现苹果脚本?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您只想通过AppleScript与其他应用对话,这可能就像在NSAppleScript课程中使用几个API一样简单。

E.G。

initWithSource:(我假设有Objective-C但当然有Swift等价物)和executeAndReturnError:

答案 1 :(得分:0)

不要为NSAppleScript而烦恼:它是一个正确的PITA,用于传入和传出数据,因为您必须自己打包并解压每个NSAppleEventDescriptor。在Cocoa应用程序中调用AS的最简单方法是通过AppleScript-ObjC bridge - 让你的ObjC代码像本机方法一样调用AS处理程序(反之亦然),并为你执行AS-ObjC值转换。

直接从ObjC / Swift发送Apple事件的其他选项:

  • macOS的ScriptingBridge框架,它是残缺的,蹩脚的,可怕的混淆,但可能足够琐碎的任务(AS AS AS仍然是最安全和最强大的选择)

  • 我正在开发的SwiftAutomation framework,其目标是在新的一年里向Apple推销它。它是一个新的代码库,我仍在淘汰bug,但设计源于appscript,已经证明它是AppleScript十年真实使用的真正替代品。

顺便说一句,如果您对SwiftAutomation感兴趣,请在bugreport.apple.com上提出文件功能请求,要求Apple采用它并包含在10.13中。他们获得的重复票数越多,就越有可能引起注意。