从Chrome扩展程序与MacOSX应用程序对话

时间:2016-07-18 21:41:37

标签: objective-c macos google-chrome-extension

我的浏览器中运行了Chrome扩展程序。我还有一个Mac OSX应用程序,我在Xcode中用Swift / Objective-c编写。我想知道这个Chrome扩展程序如何与同一台计算机上的Mac OSX应用程序通信。

我知道Chrome扩展程序API,但我不知道如何捕获Chrome在Swift中发送的信息。有谁知道怎么做?

由于

1 个答案:

答案 0 :(得分:2)

您可以采取两种广泛的方法。

  1. Native Messaging API。这确实存在Chrome必须启动进程(并通过STDIO与之通信)的限制 - 您无法附加到现有进程。好处 - 沟通渠道非常安全。

  2. 您的本机应用程序可以在本地端口上公开Web服务器(或者更好的是,WebSockets服务器)。然后,扩展程序可以尝试连接到此端口并与您的应用程序通信。缺点是任何东西(至少在机器上)都可以连接到你的原生应用程序。

    这是一种经常使用的方法;例如,1Password或各种IDE集成以这种方式工作。

  3. 您可以将两种方法结合使用"启动器"本机主机,如果它没有运行。