0

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

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

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

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

4

1 回答 1

1

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

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

于 2015-08-18T21:28:41.060 回答