Finder Sync 扩展:无法通过 UNIX 域套接字进行通信

Finder Sync extension: cannot communicate through UNIX domain socket

我遇到以下问题:我正在实施 Finder Sync 插件,它需要与主应用程序通信。以前,当我使用 old good mach_inject 时,它通过 UNIX 域套接字运行良好。 但是,现在,即使允许 com.apple.security.temporary-exception.files.home-relative-path.read-write 和 com.apple.security.network.client,我也无法连接到套接字,总是收到 9/17/15 11:15:34.000 kernel[0]: Sandbox: finderplugin(660) deny network-outbound /Users/nickolay/Library/blablabla/.cmdsckt

有人知道如何解决这个问题吗?也许,需要其他权利或其他套接字路径?

好的,NSXPCConnection 似乎不起作用,所以我最终使用了 mach 端口。 IE。 NSMachPort、NSMachBootstrapServer 等。

您需要在扩展的权利中添加以下内容。

<key>com.apple.security.temporary-exception.sbpl</key>
<array>
    <string>(allow network-outbound)</string>
    <string>(allow network-bind)</string>
</array>