Swift macos - открыть окно терминала и перейти по пути
цель проста:
- открыть окно терминала
- перейти в некую локацию
мой код:
public class func openShell(at url: URL?) {
guard let url = url else { return }
let shellProcess = Process();
shellProcess.launchPath = url.path;
//shellProcess.arguments = [
// "osascript -e 'tell application \"terminal\" to do script \"cd \(url)\"'"
//];
shellProcess.launch();
}
просто выдает ряд текста в debug output XCode и все.
Закомментированый код - альтернативное решение которое так же не сработало.
Ответы (1 шт):
Автор решения: VAndrJ
→ Ссылка
Для открытия терминала используйте NSWorkspace:
@available(OSX 10.15, *)
public class func openTerminal(at url: URL?){
guard let url = url,
let appUrl = NSWorkspace.shared.urlForApplication(withBundleIdentifier: "com.apple.Terminal")
else { return }
NSWorkspace.shared.openFile("\(url.path)", withApplication: appUrl.path)
}
Скрипт можете сделать как отельным файлом и вытягивать из Bundle, так и в коде.