Swift中的macOS终端仿真器

时间:2017-08-07 02:04:52

标签: swift macos terminal terminal-emulator

我尝试使用Swift语言创建终端模拟器(目前在Swift 4.0上)

到目前为止,我已经创建了一个用户界面,但唯一的问题是我的一些命令无法完成,例如:

diskutil mount disk0s1

会在Xcode控制台输出中给出以下错误:

"Could not start up a DiskManagement session"

某些命令可以起作用,例如:

echo Hi

这是我到目前为止实际执行命令的代码:

@discardableResult
func shell(_ args: String) -> Int32 {
    let task = Process()
    task.launchPath = "/usr/bin/env"
    let cmd = args.characters.split(separator: " ").map(String.init)
    task.arguments = cmd
    task.launch()
    task.waitUntilExit()
    return task.terminationStatus
}

1 个答案:

答案 0 :(得分:4)

经过5个小时的研究,我想出来了。在权利文件中,您需要将App Sandbox更改为NO。