我正在编写一个接受插件来实现一些操作的框架。由于这些插件不像第一方代码那样受信任,我想将它们托管在 XPC 服务中,我可以使它们变得非常无特权,并且可以防止对系统造成太大的损害。
但是,插件应该可以访问与在进程内运行的第一方代码基本相同的 API。为了简单起见,我希望 XPC 进程链接到框架本身。
当然,问题在于框架嵌入了 XPC 进程,而 XPC 进程与框架链接。Xcode 认为这是一个循环依赖并拒绝在此配置中构建。即使选中“仅在安装时复制”复选框也是如此。
由于在链接时不需要 XPC 服务,这可以说是人为的:可以构建框架二进制文件,然后是 XPC 服务,最后将服务复制到框架。
有没有办法达到这个结果?