【问题标题】:How to call Cocoa Methods from Applescript under OS X如何在 OS X 下从 Applescript 调用 Cocoa 方法
【发布时间】:2011-05-30 20:22:00
【问题描述】:

在以前的 OS X 版本(10.6 之前)中,可以通过 applescript(“Applescript Studio”)中的“call method”命令调用 Cocoa 方法。 例如。这边走: set theURL to "@987654321@" set URLWithString to (call method "stringByAddingPercentEscapesUsingEncoding:" of theURL with parameter 30) “Applescript Editor”(10.6)中的脚本解释器不理解命令“call method”。 - “Applescript Editor” (10.6) 是否有等价物?

【问题讨论】:

  • 如果我没记错的话,问题是AppleScript Studio和AppleScript Editor之间的区别;前者应该在任何(最近的?)OS X 版本中支持call method,而后者在任何版本中都不支持。
  • 你好 Antal S-Z!这正是我的印象。但我认为应该有可能以另一种方式连接 Applescript 和 Cocoa。

标签: objective-c macos cocoa applescript


【解决方案1】:

AppleScript Studio 我认为是在 Xcode 而不是 AppleScript 编辑器中完成的。 AppleScript Editor 中的代码只能保存为scripts,语言只是普通的AppleScript

如果你这样做是 Xcode,在 10.6 上,AppleScript Studio 不再存在。现在是 AppleScript-Obj-C

我不知道确切的答案.. 但是...

如果你在 AppleScript-Obj-C 中使用 - (void)makeKeyAndOrderFront:(id)sender,如果我有一个链接到 Xcode 中的窗口的属性,我就去:myWindowProperty's makeKeyAndOrderFront_(sender)

我希望这至少有一点帮助!

【讨论】:

    【解决方案2】:

    您可以在 applescript 中使用“调用方法”。 Apple 将这种能力赋予了 Automator,我们可以通过使用“Automator Runner”应用程序从 applescript 访问该能力。我最近刚刚向某人展示了这个。请参阅我的帖子 #4 here

    所以要回答您的问题,只需将您的“调用方法”代码放入 tell 应用程序“Automator Runner” 告诉块中。

    【讨论】:

    • 我不确定它何时停止工作,但从 Mac OS X 10.9.1 开始,告诉 Automator Runner “调用方法”会导致 AppleScript 编译错误。我认为目前没有任何方法可以“调用方法”而不安装可以接收该命令的辅助 AppleScriptObjC 应用程序。
    猜你喜欢
    • 2014-06-05
    • 2013-05-07
    • 2012-06-03
    • 1970-01-01
    • 2011-01-08
    • 2014-03-22
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多