0

我正在尝试使用 shell 脚本打开 Ngrok 或 Localtunnel 作为我的 swift 程序的一部分。问题是两个 shell 脚本都没有返回,我的主线程挂起。我可以把它放在一个永久打开的侧线程中,但我需要提取输出的 url。有任何想法吗?

作为参考,这是我在 swift 中执行 shell 命令的方式。

func shell(_ command: String) -> String {
    let task = Process()
    let pipe = Pipe()
    
    task.standardOutput = pipe
    task.standardError = pipe
    task.arguments = ["-c", command]
    task.launchPath = "/bin/zsh"
    task.launch()
    
    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    let output = String(data: data, encoding: .utf8)!

    return output
}

其次是

shell("ngrok http 3000")

或者

shell("lt --port 9726")
4

0 回答 0