Swift 从菜单栏项运行shell命令
我按照一个非常有用的方法创建了一个简单的菜单栏应用程序,它有两个操作。但是,我希望在选择其中一个操作时执行两个shell命令 Xcode中的当前函数是:Swift 从菜单栏项运行shell命令,swift,macos,shell,Swift,Macos,Shell,我按照一个非常有用的方法创建了一个简单的菜单栏应用程序,它有两个操作。但是,我希望在选择其中一个操作时执行两个shell命令 Xcode中的当前函数是: func constructMenu() { let menu = NSMenu() menu.addItem(NSMenuItem(title: "ON", action: #selector(AppDelegate.printQuote(_:)), keyEquivalent: "S")) menu.addItem(NSMenuItem(
func constructMenu() {
let menu = NSMenu()
menu.addItem(NSMenuItem(title: "ON", action: #selector(AppDelegate.printQuote(_:)), keyEquivalent: "S"))
menu.addItem(NSMenuItem(title: "OFF", action: #selector(AppDelegate.printQuote(_:)), keyEquivalent: "R"))
menu.addItem(NSMenuItem.separator())
menu.addItem(NSMenuItem(title: "Quit SMAC", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))
statusItem.menu = menu
这显示了我单击菜单栏时预测的三个选项:
然而,这正是我可可知识不足的地方。我希望在单击操作时执行以下shell脚本:
chmod u+x ~/Desktop/Mask.sh
~/Desktop/Mask.sh
最后,在按下OFF按钮时执行以下两个bash脚本:
chmod u+x ~/Desktop/Unmask.sh
~/Desktop/Unmask.sh
以下两类应相关:和 过程
表示当前进程的子进程的对象。
使用process类,您的程序可以按如下方式运行另一个程序: 一个子进程,可以监视该程序的执行。过程 对象创建一个单独的可执行实体;它与螺纹的不同之处在于 它不与创建的进程共享内存空间 它 例如,这将是用于
chmod
脚本的内容。↳ NSUserUnixTask
执行unix应用程序的对象。
NSUserUnixTask类用于运行unix应用程序,通常是 shell脚本,来自您的应用程序。它旨在执行 用户提供的脚本,并将在 应用程序的沙箱(如果有) 这就是可以用来执行
shell
脚本的内容
↳ 你应该看看。