只有从xcode启动时,服务和客户端应用程序之间的XPC通信才有效

只有从xcode启动时,服务和客户端应用程序之间的XPC通信才有效,xcode,xpc,Xcode,Xpc,当我从Xcode启动目标时,XPC通信工作正常。但是,当我通过双击图标手动启动服务和客户端应用程序时,会显示连接失效消息。它们在xcode内部而不是外部工作正常吗?xcode在这里发挥了什么魔力来让通信正常工作。对于所有人来说,使用xpc\u connection\u create\u mach\u服务时遇到相同问题的人:xpc通过许多启动的东西工作;当我们在xCode中调试应用程序时,它会调解应用程序并启动连接,但如果没有xCode,我们需要自己进行调试 要激活它,应该使用launchplis

当我从Xcode启动目标时,XPC通信工作正常。但是,当我通过双击图标手动启动服务和客户端应用程序时,会显示连接失效消息。它们在xcode内部而不是外部工作正常吗?xcode在这里发挥了什么魔力来让通信正常工作。

对于所有人来说,使用
xpc\u connection\u create\u mach\u服务时遇到相同问题的人
:xpc通过许多启动的东西工作;当我们在xCode中调试应用程序时,它会调解应用程序并启动连接,但如果没有xCode,我们需要自己进行调试

要激活它,应该使用launchplist文件通过launchd启动它。 有这样一个例子,但这还不够。 诀窍是
MachServices
键,它看起来像:

<key>MachServices</key>
<dict>
<key>com.server.bundle-id</key>
<true/>
</dict>
mach服务
com.server.bundle-id

这就是我们创建马赫服务的方式,因此我想我们的XPC连接下面可能有一些马赫端口。

我似乎也有类似的问题。您最终找到了根本原因吗?是的,我将XPC信息列表从xcode项目复制到了/System/Library/LaunchDaemons。在xcode之外启动应用程序时,我必须使用launchctl。例如:launchctl load/System/Library/LaunchDaemons/所以您无法从XCode启动XPC?