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

Sockets Finder同步扩展:无法通过UNIX域套接字进行通信,sockets,cocoa,ipc,finder,appstore-sandbox,Sockets,Cocoa,Ipc,Finder,Appstore Sandbox,我有以下问题:我正在实现Finder Sync插件,它需要与主应用程序通信。以前,当我使用旧的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内核[0]:沙盒:find

我有以下问题:我正在实现Finder Sync插件,它需要与主应用程序通信。以前,当我使用旧的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内核[0]:沙盒:finderplugin(660)拒绝网络出站/Users/nickolay/Library/blablablabla/.cmdsckt


有人知道怎么解决这个问题吗?可能需要其他权限或其他套接字路径?

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

您需要在扩展权限中添加以下内容

<key>com.apple.security.temporary-exception.sbpl</key>
<array>
    <string>(allow network-outbound)</string>
    <string>(allow network-bind)</string>
</array>
com.apple.security.temporary-exception.sbpl
(允许网络出站)
(允许网络绑定)

谢谢。你能具体说明你从哪里得到这些信息吗?它似乎不存在于苹果网站上的应用程序沙盒文档中(或者我有点看错了?)。甚至我也尝试了很多方法来建立沟通,最后我从Ashutosh Mehra关于应用程序沙盒的推文中找到了它,这在苹果网站上是没有记录的。谢谢,这是一篇非常有价值和有趣的文章。不过,苹果可以随时删除该.sbpl扩展(但它仍然存在于El Capitan中)。