我想知道是否可以在 C 中使用 Scripting Bridge(如此处所述)。我想要做的是控制和/或从 Apple 应用程序(例如 iTunes,请参阅上面的链接列表 2.1 和 2.2)中获取信息链接)使用Objective-C相当容易。
我可以使用 C 在 Objective-C 中编写这些部分,但这会变得非常复杂,并且更喜欢完整的 C 方法。
我想知道是否可以在 C 中使用 Scripting Bridge(如此处所述)。我想要做的是控制和/或从 Apple 应用程序(例如 iTunes,请参阅上面的链接列表 2.1 和 2.2)中获取信息链接)使用Objective-C相当容易。
我可以使用 C 在 Objective-C 中编写这些部分,但这会变得非常复杂,并且更喜欢完整的 C 方法。
据我所知,Scripting Bridge 仅适用于 Objective-C(没有纯 C(Carbon)等价物)。
也就是说,从 C 调用 Objective-C 方法并不复杂。
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 行)。