我正在开发一个OS X桌面应用程序。我想用它捆绑一个辅助工具。我在考虑使用SMJobSubmit来启动一个特权提升的助手程序。(该工具基本上执行sudo调用。)
如何将工具的控制台输出发送回我的主应用程序?
我知道有了NSTask,我就可以使用NSPipe来重定向控制台输出。但是,由于我认为我不能以提升的权限使用NSTask,所以我改用SMJobSubmit。
(是的,我已经处理了授权部分。)
发布于 2015-08-19 05:28:41
我认为,据我所知,你应该使用XPC连接来与你的helper程序通信。不要使用SMJobSubmit(因为它已经被弃用),而是使用SMJobBless将您的助手工具安装为LaunchD作业,该作业在提升的权限下运行。从您的Mac OS X应用程序使用XPC连接与其通信,以调用执行逻辑的函数调用,捕获输出并回复回主应用程序。如果您愿意继续这个想法,下面来自Apple的示例代码将指导您完成。
https://stackoverflow.com/questions/12550730
复制相似问题