我想使用的某个API仅适用于AppleScript以从应用程序请求信息。我想构建一个MacOSX应用程序,我可以在这个应用程序中使用Apple脚本吗?有没有工作来实现苹果脚本?
谢谢!
答案 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十年真实使用的真正替代品。