XPC 服务不是作为单独的目标,而是作为在应用程序中实现侦听器委托的内置类。我在网上看到的所有示例都有单独的目标,它们制作 xpc 服务工具并将其复制到应用程序资源文件夹以支持传入连接。有没有办法像我想要的那样做?
问问题
1291 次
1 回答
0
不,没有.. 很抱歉直言破坏了你的周末。
XPC 作为服务运行,即
YouApp.app
Contents
XPCServices/
SomeService.xpc
不要让“xpc”扩展名欺骗您,用外行的话来说,它只是一个“应用程序”。
当“YouApp.app”启动时,launchd(制作你的 mac tic 的老爹)会收到通知并开始调查。
launchd 对它们如此挑剔的原因(libxpc)是因为它们在低级别运行并且可能有害,但是......因为它们在允许级别运行,它们非常活泼并且有效地完成工作。
初学者入门的一个很好的例子是:
基本上,有 1 个应用程序和 2 个 XPC 服务。
流程如下:
1)应用程序启动 2)launchd(除其他外,授权 XPC 服务运行)3)应用程序要求一项服务从互联网上下载某些内容,您可以在 URL 中输入 4)该服务下载它,将其保存在一个地方所有服务(和应用程序)也可以访问,即应用程序组。5)然后应用程序要求其他服务“压缩”它。
就是这样。
一开始确实需要一段时间才能解决,最令人沮丧的是代码签名。
只是一个预警。如果你想让它运行得很好,你可能会从终端结束编码,而不是让 XCode 它。
另一件需要注意的是“计划”。确保您正确设置了 XPC 调试设置,否则它看起来就像什么都没有发生
最后,Console 是你的朋友 :D 在调试 XPX 时保持打开状态。
于 2015-04-11T17:48:26.987 回答