我正在使用OS X桌面应用程序。我想用它捆绑一个帮助工具。我正在考虑使用SMJobSubmit
来启动具有提升权限的帮助程序。 (该工具基本上进行sudo
调用。)
如何将工具的控制台输出发送回我的主应用程序?
我知道NSTask
我可以使用NSPipe
来重定向控制台输出。但是,由于我不认为我可以使用NSTask
提升权限,我使用SMJobSubmit
代替。
(是的,我已经处理了授权部分。)
答案 0 :(得分:1)
我认为,据我所知,您应该使用XPC连接与您的帮助程序进行通信。而不是使用SMJobSubmit(因为它无论如何都被弃用)使用SMJobBless将您的帮助工具安装为以提升的权限运行的LaunchD作业。使用Mac OS X应用程序中的XPC连接与其通信以调用执行逻辑的函数调用,捕获输出并回复主应用程序。如果您愿意继续这个想法,Apple的以下示例代码将指导您完成。