【问题标题】:Using Apple Scripting Bridge in C在 C 中使用 Apple Scripting Bridge
【发布时间】:2009-12-18 06:52:00
【问题描述】:

我想知道是否可以在 C 中使用 Scripting Bridge(如 here 所讨论的)。我想要做的是控制和/或从 Apple 应用程序(如 iTunes)获取信息,请参阅链接列表2.1 和 2.2 上的链接)使用 Objective-C 相当容易。

我可以使用 C 在 Objective-C 中编写这些部分,但这会变得相当复杂,并且更喜欢完整的 C 方法。

【问题讨论】:

标签: c macos scripting-bridge


【解决方案1】:

AEBuild 函数使用 printf-ish 格式字符串来显着减少在 C 中构建和发送 Apple 事件所需的工作量:

http://developer.apple.com/mac/library/technotes/tn/tn2045.html

您确实需要了解有关 Apple 事件的方法才能使用它们(眼睛所能看到的四字符代码,natch),但对于相当简单的任务,它们非常有用。构建字符串格式与 AEDebug 使用的格式相似(尽管不完全相同),因此如果您需要一些有关如何构建构建字符串的线索,请在目标应用程序上启用 AEDebug,然后从 AppleScript 向其发送一些事件。

您可能还会发现 ASDictionary (http://appscript.sourceforge.net/tools.html) 很有用。它包括一个用于将应用程序的字典导出为纯文本文件的选项,从而可以轻松查找 AppleScript 样式的关键字并获取它们的四字符代码等效项。此外,ObjC 胶水导出器将所有字典的四字符代码转储到一个方便的 .h 文件中(只需取出 #import 行)。

【讨论】:

    【解决方案2】:

    据我所知,Scripting Bridge 仅适用于 Objective-C(没有纯 C(碳)等价物)。

    也就是说,calling Objective-C methods from C 并不复杂,无法使用。

    【讨论】:

    • 这比我想象的要容易。感谢您的链接!
    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    相关资源
    最近更新 更多