我尝试使用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
}
答案 0 :(得分:4)
经过5个小时的研究,我想出来了。在权利文件中,您需要将App Sandbox更改为NO。