问题描述
我希望通过 Apple Events 与 D 应用程序(可以与 C 互操作)中的其他应用程序进行交互没有嵌入 AppleScript、JSX 等的系统.关于从非 AppleScript 应用程序发送 Apple Events 的主题的文档很少,我找不到任何关于从 C 应用程序实现这一点的信息,更不用说 D 应用程序了.有可能吗,如果有,怎么做?
不幸的是,该 API 是 Carbon 的一部分,从 OS X 10.8 开始,它显然不再工作了.相同的 C API 现在公开给 Objective C 和 Swift,并且仍然受支持.例如.AECreateDesc 也是一样,AEBuildAppleEvent 变成了 vAEBuildAppleEvent,依此类推.请参阅此页面了解文档,您需要以 AE 开头的函数/结构.>
现在你有另一个问题,如何在 C/D 和 ObjC/Swift 之间进行互操作.如果您可以使用 XCode,则可以在一个项目中混合使用多种语言,请参阅此答案.
I am looking to interact with other applications from a D application (which can interop with C) through the Apple Events system without embedding AppleScript, JSX or the like. There are few documents on the subject of sending Apple Events from non-AppleScript applications, and I can't find any information on achieving this from a C application, let alone a D application. Is it possible, and if so, how?
Here’s the documentation for the C API for these events.
Unfortunately, that API is part of Carbon, which apparently doesn’t work anymore, since OS X 10.8. The same C API is now exposed to Objective C and Swift, and is still supported. E.g. AECreateDesc is the same, AEBuildAppleEvent becomes vAEBuildAppleEvent, and so on. See this page for documentation, you’ll want functions/structures that begin with AE.
Now you have another problem, how to interop between C/D and ObjC/Swift. If you’re OK using XCode, you can mix the languages in a single project, see this answer.
这篇关于是否可以使用 Apple Events 与来自 C 或 D 的应用程序进行通信?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!