我希望限制某些网站以便在osx上开放。我可以通过终端命令来完成:
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts
然后我们可以轻松编辑和保存这个文件。我们可以编写本地IP和网站名称,将此网站限制为192.0.0.1 www.youtube.com。 我想以编程方式进行,我尝试如下:
system("echo \"192.0.0.1 www.facebook.com\" >> /etc/hosts");
此应用程序具有root权限仍然无法附加它并显示权限被拒绝消息。
任何人都可以告诉我这是什么问题,或者有没有其他方法来编辑这个文件/ etc / hosts
答案 0 :(得分:-1)
使用Apple Script,您可以这样做。
do shell script "sudo echo '192.0.0.1 www.facebook.com' >> /etc/hosts" with administrator privileges
从Objective-C开始,您应该使用NSTask
来运行shell命令。请参阅these two个答案。
您可以使用NSFileHandle
本机写入文件,而不是使用shell脚本。
要了解所有可能性,请查看Apple's Authorization Services Programming Guide