在 macOS 上具有系统扩展的 IPC

问题描述 投票:0回答:2

我需要在系统扩展和应用程序之间通信数据/消息(这不是系统扩展的容器应用程序)。

推荐哪种IPC机制? 套接字通信同样好吗?

ipc macos-system-extension
2个回答
0
投票

嗯,没有太多文档,所以很难说有什么推荐的机制来与系统扩展进行通信。

Apple 在他们的示例中使用 XPC,如果您可以在应用程序中保留与系统扩展相同的应用程序组(根据文档)(这不是容器应用程序,这是可以的),您也可以使用它。

套接字也可以工作,但您需要知道,所有系统扩展都是沙盒的,并且沙盒配置文件会阻止对大部分文件系统(但不是全部)的读写访问。

因此,要建立套接字连接,您可能需要做一些研究,哪里是保存用于双向通信的套接字文件的好地方。


0
投票

我推荐使用XPC。它快速且可靠,更重要的是,您可以验证是否只允许您拥有的二进制文件进行连接。使用

audit_token
和在
shouldAcceptNewConnection()
期间检查代码签名的组合。您还可以使用自己的协议(JSON、protobuf 等),而不是依赖 Apple Coding 接口。 一些资源:

© www.soinside.com 2019 - 2024. All rights reserved.