可可 – 带有NSTask的沙箱

前端之家收集整理的这篇文章主要介绍了可可 – 带有NSTask的沙箱前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我启用了沙盒并使用/ sbin / ping NSTask:

[task setLaunchPath:@"/sbin/ping"];
[task setArguments:[NSArray arrayWithObjects:@"-c10",iPAddress,nil]];

一切都很好,我得到了预期的输出.

我也想在NSTask中使用/usr/sbin / traceroute:

[task setLaunchPath:@"/usr/sbin/traceroute"];
[task setArguments:[NSArray arrayWithObject:iPAddress]];

但任务终止于消息:NSTask:为路径’/usr/sbin / traceroute’创建的任务失败:22,“无效参数”.终止临时过程.*
同时沙箱记录:deny forbidden-exec-sugid

为什么它适用于ping,但不适用于traceroute?我如何使用traceroute工作?

谢谢!

解决方法

Q1:ping与traceroute – 前者是一个非特权程序,后者是特权并以root身份运行.您的错误表明沙箱不允许以root身份运行,这并不令人惊讶.

Q2:向Apple提交一份错误报告,详细说明为什么需要traceroute功能并要求支持沙箱的方式.鉴于您实际上正在使用沙箱,您可能是注册的Apple开发人员,因此也可以在开发论坛上提出它(列出您的错误号).

猜你在找的cocoa相关文章