我正在開發一個 mac 應用程式,我需要使用不同的 swift 腳本來執行不同的操作。
let outputPipe = Pipe()
let errorPipe = Pipe()
let task:Process = Process()
task.launchPath = "/usr/bin/swift"
task.arguments = [filePath, scriptInput.string]
task.standardOutput = outputPipe
task.standardError = errorPipe
task.launch()
為了執行 swift 腳本,我使用啟動路徑 /usr/bin/swift 初始化行程。在沒有安裝 xcode 的 mac 上,我的應用程式要求下載命令列工具。
是否需要在 mac 中安裝命令列工具才能運行 swift 腳本?
uj5u.com熱心網友回復:
是的,Swift“腳本”(Swift 檔案直接使用swift——在幕后編譯到臨時目錄然后立即執行)需要命令列工具或目標機器上的完整 Xcode 安裝(取決于腳本需要做)。
macOS 沒有預裝 Swift 編譯器(或其他開發人員工具),因此在目標機器上編譯 Swift 需要安裝它。/usr/bin/swiftmacOS 上預裝的 macOS 會在運行時提示進行此安裝 - 并且安裝工具將覆寫以/usr/bin/swift能夠編譯 Swift。
如果您嘗試在您的應用程式旁邊分發和運行這樣的“腳本”,您需要確保最終用戶安裝了命令列工具(或提示他們按照說明自行安裝),或者預編譯將這些腳本添加到您的應用程式中,因此您無需依賴/usr/bin/swift. 后者可能更受歡迎:為什么您需要在外部腳本中運行操作,為什么您的應用程式不能自己執行這些操作?
如果您的應用程式打算幫助用戶運行他們自己的腳本,他們也需要安裝這些工具。
請注意,這不是/usr/bin/swift. 例如, macOS 還附帶一個/usr/bin/git,它會提示相同的內容。命令列工具是許多與開發人員相關的基本命令列工具所必需的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/420364.html
標籤:
上一篇:致命錯誤:Docker守護程式無法使用DockerDesktop啟動
下一篇:使用管道處理STDERR時出錯
