Swift 执行'时不允许操作;基拉尔';迅速地

Swift 执行'时不允许操作;基拉尔';迅速地,swift,xcode,macos,terminal,Swift,Xcode,Macos,Terminal,我正在尝试创建一个菜单栏应用程序来隐藏桌面图标和其他各种东西,希望主要是为了了解更多关于Swift的信息,但由于某些原因,我无法让它工作。当我运行此程序并单击其中一个菜单项时,什么也没有发生,我在控制台中收到以下警告: killall: warning: kill -TERM 15175: Operation not permitted 其他命令也可以工作,但我在“killall”上尝试的任何变体都会显示出类似上面的内容。当前我的代码如下所示: @discardableResult func

我正在尝试创建一个菜单栏应用程序来隐藏桌面图标和其他各种东西,希望主要是为了了解更多关于Swift的信息,但由于某些原因,我无法让它工作。当我运行此程序并单击其中一个菜单项时,什么也没有发生,我在控制台中收到以下警告:

killall: warning: kill -TERM 15175: Operation not permitted
其他命令也可以工作,但我在“killall”上尝试的任何变体都会显示出类似上面的内容。当前我的代码如下所示:

@discardableResult
func killStuff(_ args: String...) -> Int32 {
    let task = Process()
    let pipe = Pipe()

    task.launchPath = "/usr/bin/killall"
    task.arguments = args
    task.standardOutput = pipe
    task.standardError = pipe
    task.launch()
    task.waitUntilExit()

    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    if let output = String(data: data, encoding: .utf8) {
        print(output)
    }

    return task.terminationStatus
}
我已经尝试了很多不同的解决方案,包括我在Google上找到的,但是我一直得到相同的“不允许操作”。当我在Xcode游戏场上运行相同的代码时,它工作得很好


提前谢谢

Mac应用程序,如iOS应用程序,默认情况下是沙盒的,这意味着它们对系统资源的访问非常有限。例如,它们只允许读写少量沙盒目录,从
usr/bin
读取/写入/执行是绝对不允许的,您也不允许启动进程


我记得,通过删除您的授权文件,您正在构建一个没有沙盒的应用程序。您可以从Xcode运行它,但需要更改系统设置才能从finder运行它。

如果您将其创建为本地应用程序,您可以打开您的授权文件,并将“应用程序沙盒”更改为
。我不建议在制作应用程序中这样做

您是否尝试过使用
sudo
?@kilojoules是的,当我尝试使用killStuff函数时,它有相同的消息,然后当我在第一个链接中尝试使用shell函数时,它会说“env:sudo:Operation not allowed”,您不允许使用沙盒应用程序执行此操作。@ElTomato哦,好的,谢谢。我从构建设置中删除了授权文件,它成功了。本着良好编程实践的精神,这样删除它是可以接受的吗?