gpt4 book ai didi

swift - Mac app切换/etc/hosts文件,如何允许访问?

转载 作者:行者123 更新时间:2023-11-28 06:00:04 25 4
gpt4 key购买 nike

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

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

以上返回 nil,我假设是因为缺少权限。

如何提供替换/etc/hosts文件的权限?

最佳答案

为了修改像 /etc/hosts 这样只能由 root 写入的文件,你需要使用特权帮助工具,使用 SMJobBless() 安装它,并通过 XPC 与它通信。

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

关于swift - Mac app切换/etc/hosts文件,如何允许访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com