应用程序,帮助程序工具通信



我正在开发OS X桌面应用程序。我想将辅助工具与它捆绑在一起。我正在考虑使用SMJobSubmit启动具有提升权限的帮助程序。(该工具基本上执行sudo调用。

如何将控制台输出从工具发送回我的主应用程序?

我知道NSTask我可以使用NSPipe来重定向控制台输出。但是,由于我认为我不能使用具有提升权限的NSTask,因此我改用SMJobSubmit

(是的,我已经处理了授权部分。

我认为

,据我所知,您应该使用XPC连接与您的帮助程序进行通信。不要使用 SMJobSubmit(因为它无论如何都已弃用),而是使用 SMJobBless 将您的帮助程序工具安装为以提升的权限运行的 LaunchD 作业。使用 Mac OS X 应用程序中的 XPC 连接与其通信,以调用执行逻辑的函数调用、捕获输出并回复主应用程序。如果您愿意继续这个想法,Apple的以下示例代码将指导您完成。

https://developer.apple.com/library/mac/samplecode/EvenBetterAuthorizationSample/Listings/Read_Me_About_EvenBetterAuthorizationSample_txt.html

最新更新