Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 通过Chrome扩展与MacOSX应用程序对话_Objective C_Macos_Google Chrome Extension - Fatal编程技术网

Objective c 通过Chrome扩展与MacOSX应用程序对话

Objective c 通过Chrome扩展与MacOSX应用程序对话,objective-c,macos,google-chrome-extension,Objective C,Macos,Google Chrome Extension,我的浏览器中有一个chrome扩展。我还有一个MacOSX应用程序,我是用Swift/Objective-c在Xcode中编写的。我想知道这个chrome扩展如何与同一台计算机上的MacOSX应用程序进行通信 我知道Chrome扩展API,但不知道如何从中捕获Chrome在Swift中发送的信息。有人知道怎么做吗 谢谢您可以采取两种广泛的方法 。这确实有一个限制,Chrome必须启动进程(并通过STDIO与之通信)——您不能附加到现有进程。好处是,通信渠道非常安全 您的本机应用程序可以在本地端

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

我知道Chrome扩展API,但不知道如何从中捕获Chrome在Swift中发送的信息。有人知道怎么做吗


谢谢

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

  • 。这确实有一个限制,Chrome必须启动进程(并通过STDIO与之通信)——您不能附加到现有进程。好处是,通信渠道非常安全

  • 您的本机应用程序可以在本地端口上公开web服务器(最好是WebSockets服务器)。然后,该扩展可以尝试连接到此端口并与您的应用程序通话。缺点是任何东西(至少在机器上)都可以连接到您的本机应用程序

    这是一种常用的方法;例如,1Password或各种IDE集成就是这样工作的


  • 如果应用程序未运行,您可以将这两种方法结合起来,使用“launcher”本机主机启动应用程序。

    请参见。好的,但该API没有告诉我如何从Swift进行对话,它只谈到从Chrome扩展发送消息,如果我没有错的话。我知道该API,但我不知道如何使用Swift或Objective-C。这就是我问这个问题的原因。我编辑了这个问题。@hockeybro你知道吗?如果我想做选项1,我需要在Mac OSX本机应用程序端配置什么?它应该通过符合文档中定义的本机消息协议的STDIO进行对话。@Xan@hockeybro找到如何让macos通过STDIO查看消息的方法了吗?我尝试了很多次使用
    FileHandle.standardInput
    的尝试,但是没有luck@daidai你成功了吗?我想使用本机消息传递API,但在MacOS/Swift上找不到关于如何使用本机消息传递API的文档