【问题标题】:How to debug communication between 2 independent applications ( macOS )如何调试 2 个独立应用程序(macOS)之间的通信
【发布时间】:2018-04-19 16:24:05
【问题描述】:
谁能向我解释一下,如果一个应用程序必须向第二个应用程序发送数据,应用程序通常如何通信。 (例如图像)。或者我怎样才能知道通信是如何实现的?
在我的示例中,我试图找出“Capture One 11.x”如何使用其他应用程序(如 Photoshop 或 Lightroom)打开图像。
我猜,“Capture One 11.x”将通过运行具有附加启动参数(如打开图像的文件路径)的第二个应用程序来在其他应用程序中打开图像。但我找不到任何证据证明这种行为。
感谢任何提示或帮助。
【问题讨论】:
标签:
macos
desktop-application
photoshop
lightroom
cross-application
【解决方案1】:
应用程序可以通过多种方式相互通信。通过临时文件、管道、套接字等。
您的具体问题听起来可以归结为“让应用程序 A 在应用程序 C 中打开文件 B 的一种方法是什么”。
这很容易通过命令行实现,例如,使用 macOS 命令open 和-a 来选择应用程序。
open -a Adobe\ Photoshop file.jpg
或
open -a TextEdit file.txt
open -a MacVim file.txt
因此,应用程序可以在另一个特定应用程序中打开文件的一种非常基本的方法是对 macOS open 进行系统调用。