gpt4 book ai didi

swift - 如何以管理员权限运行命令

转载 作者:行者123 更新时间:2023-11-30 10:43:10 24 4
gpt4 key购买 nike

我想实现一个简单的 Mac 应用程序,它将以管理员权限运行一些命令。我所做的是下面的代码

func execute(command: String) -> String {
var arguments:[String] = []
arguments.append("-c")
arguments.append(command)

let task = Process()
task.launchPath = "/bin/sh"
task.arguments = arguments

let pipe = Pipe()
task.standardOutput = pipe
task.standardError = pipe
task.launch()
task.waitUntilExit()
let data = pipe.fileHandleForReading.readDataToEndOfFile()

return String(data: data, encoding: .utf8)!
}

这适用于没有 sudo 的命令,当我将 sudo 放在命令开头时,我收到此错误 /bin/sh:/usr/bin/sudo: 操作不允许

我只是想以某种方式提供用户的密码或询问 native 密码?有什么想法吗?

最佳答案

我找到了解决方案,保持代码不变,命令应采用以下格式:

"osascript -e 'do shell script \"my command\" with administrator privileges'"

我之前尝试过使用它,但我必须像上面那样加上引号和单引号!

此时,苹果的 native 警报正在呈现。

关于swift - 如何以管理员权限运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56361942/

24 4 0
文章推荐: json - 从 JSON 数据解码/编码混合对象数组
文章推荐: javascript - 尝试用数组填充