gpt4 book ai didi

macos - 将 Cocoa 与 AppleScript 结合使用

转载 作者:行者123 更新时间:2023-12-03 17:33:17 40 4
gpt4 key购买 nike

从 AppleScript 中调用 Cocoa 方法时遇到一些问题。例如,使用 osascript 运行以下代码片段会产生错误:

set sharedWorkspace to call method "sharedWorkspace" of class "NSWorkspace"

这是抛出的异常:预期为“,”,但找到了标识符。 (-2741) 该代码是否应该嵌套在tell 语句下?如果是这样,我应该与哪个应用程序对话?

谢谢。

最佳答案

call method 看起来像是旧版 AppleScript Studio 中的内容,它在 10.6 Snow Leopard 中已弃用,现已被删除。

调用 Cocoa 方法有几个先决条件 - 常规脚本需要声明它使用所需的框架,并且各种类和枚举是在应用程序级别定义的,因此需要以 current application 开头,或者需要存在一个对象才能将消息发送到。

话虽如此,Cocoa 方法可以通过几种不同的方式调用 - 例如使用您的代码片段:

use framework "Foundation"

set sharedWorkspace to current application's NSWorkspace's sharedWorkspace
-- or --
set sharedWorkspace to sharedWorkspace of current application's NSWorkSpace
-- or --
tell current application's NSSharedWorkspace's sharedWorkspace
set sharedWorkspace to it
end tell

第一种形式是您通常会看到的形式,因为它最接近 Objective-C 形式。 Mac Automation Scripting Guide 中的附录包含有关从 Objective-C 文档进行翻译的更多信息,这是 Apple 希望您使用的内容。

关于macos - 将 Cocoa 与 AppleScript 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60021084/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com