我试图在Xcode中实现一个简单的应用程序,让我打开和关闭wifi界面。但是,ifconfig命令需要root权限才能运行“up”和“down”。我试过运行NSAppleScript但它返回
MessageTracer:回退到默认白名单
我也尝试过更改可执行文件的权限,但也没有运气。任何人都可以帮助我以特权或任何其他方式运行命令吗?先谢谢你(抱歉,我是菜鸟)!
这是我的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
}
}
答案 0 :(得分:-2)
创建一个命令行工具,并使用sudo
从{{1}}运行它。