Swift,macOS:打开该位置的终端窗口
我正在尝试在终端窗口中使用午餐并转到其中的某个本地路径: 我的代码:Swift,macOS:打开该位置的终端窗口,swift,macos,shell,terminal,Swift,Macos,Shell,Terminal,我正在尝试在终端窗口中使用午餐并转到其中的某个本地路径: 我的代码: public class func openShell(at url: URL?) { guard let url = url else { return } let shellProcess = Process(); shellProcess.launchPath = url.path; //shellProcess.arguments = [ // "osa
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();
}
但结果是,XCode内部的调试控制台中有一些输出,但并没有打开shell窗口
注释代码-我尝试过的另一种方法,因此这里基本上有两种选择:
@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)
}
在每次func调用中,将打开具有选定位置的终端的新实例
而且无需为此创建XPC服务或关闭沙箱。无需禁用sanbox。我找到了解决办法