NSXPCConnection 或 XPCKit
Posted
技术标签:
【中文标题】NSXPCConnection 或 XPCKit【英文标题】:NSXPCConnection or XPCKit 【发布时间】: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通过这项服务。 【参考方案1】:最后我决定使用 NSXPCConnection。
它由 Apple 提供,因此更新出现问题的可能性较小。
自从 Mountain Lion 和 NSXPCConnection 发布以来,似乎不再支持 XPCKit。
我都试过了,对我个人而言,NSXPCConnection 似乎是一个更好的解决方案【讨论】:
以上是关于NSXPCConnection 或 XPCKit的主要内容,如果未能解决你的问题,请参考以下文章
混合 NSXPCConnection 和 xpc C API