【发布时间】:2012-10-06 22:41:26
【问题描述】:
为 Mac 实现 XPC 客户端和服务有两种选择(或者至少我知道两种)。 NSXPCConnection 是在 10.8 和 XPCKit 中引入的。我应该使用什么来实现驻留在菜单栏中并使用 XPC 从主应用程序读取数据的辅助应用程序。
我看到的主要区别是 XPCKit 将在 10.7 Lion 中工作,而 NSXPCConnection 仅在 10.8 Mountain Lion 中可用。在它们之间进行选择时,我还应该考虑什么。感谢使用这两种方法的开发人员的回复。
附:我的应用仍然可以在 10.7 中运行,但是根据我之前的经验,在发布后 2-3 个月内需要最新版本的 OS X 不是问题。
【问题讨论】:
-
我不确定您是否可以在应用程序和辅助应用程序之间使用 XPC 进行 rpc。我认为 XPC 只能用于与属于单个应用程序的 XPC 服务进行通信。
-
理查德·斯塔尔。您可以在应用程序及其助手之间使用 XPC 进行 IPC。通过使用自 10.7.4 起可用的应用程序组权利并使用 SMLoginItemSetEnabled() 将帮助程序添加到登录项,将自动为以其捆绑 ID 命名的帮助程序应用程序注册 mach 服务,然后主应用程序可以使用 IPC通过这项服务。