gpt4 book ai didi

swift - 在 swift 应用程序中以 root 身份运行命令

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

我试图在 Xcode 中实现一个简单的应用程序,它可以让我打开和关闭 wifi 接口(interface)。但是,ifconfig 命令需要 root 权限才能运行“up”和“down”。我尝试运行 NSAppleScript 但它返回

MessageTracer: Falling back to default whitelist

我也试过更改可执行文件的权限,但也没有成功。谁能帮我以特权或任何其他方式运行命令?预先谢谢你(对不起,我是菜鸟)!

这是我的 AppDelegate.swift:

import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
let statusItem = NSStatusBar.system.statusItem(withLength:NSStatusItem.squareLength)

@objc func command(_ sender: Any?) {

let task = Process()
task.launchPath = "/sbin/ifconfig"
task.arguments = ["en0", "down"]
task.launch()

}

func applicationDidFinishLaunching(_ aNotification: Notification) {
if let button = statusItem.button {
button.image = NSImage(named:NSImage.Name("Icon-main"))
button.action = #selector(command(_:))

}
}

func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
}

最佳答案

创建命令行工具并使用 sudobash 运行它。

关于swift - 在 swift 应用程序中以 root 身份运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49743097/

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