我想知道是否可以在C中使用Scripting Bridge(如here所述)。我要做的是控制和/或从Apple应用程序获取信息(例如iTunes,请参阅链接列表2.1& 2.2在上面的链接上)使用Objective-C相当容易。
我可以使用C在Objective-C中编写这些部分,但这会非常复杂,并且更喜欢完整的C方法。
答案 0 :(得分:1)
据我所知,Scripting Bridge只是Objective-C(没有纯C(碳)等价物。)
尽管如此,calling Objective-C methods from C并不复杂,无法使用。
答案 1 :(得分: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行)。