Mac应用程序在/etc/hosts文件之间切换,如何允许访问?

2023-12-04

我正在制作一个小型 mac 菜单应用程序,以在我拥有的主机文件之间快速切换,以便在我的网络环境之间切换。

try? FileManager.default.copyItem(at: URL(fileURLWithPath: "/etc/hosts__ENV_1"), 
to: URL(fileURLWithPath: "/etc/hosts"))

以上返回nil,我假设由于缺乏特权。

如何提供替换权限/etc/hosts file?


为了修改文件,例如/etc/hosts只能由 root 写入,您将需要使用特权帮助工具,使用以下命令安装它SMJobBless(),并通过XPC与其进行通信。

Apple's EvenBetter授权样本示例代码演示了执行此操作的推荐方法,并提供了一个可供您使用的小型示例库。它是用 Objective-C 编写的,但是 Objective-C 代码集成到 Swift 项目中并不困难。 (有一天,我将发布我自己的 Swift 原生版本,但目前需要清理它,然后我才能为源代码感到自豪。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac应用程序在/etc/hosts文件之间切换,如何允许访问? 的相关文章

随机推荐