且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

是否可以使用Apple Events与C或D中的应用程序进行通信?

更新时间:2023-12-03 17:49:40

此页面以获取文档,您将需要以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.