Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在NSTask中使用open命令_Swift_Nstask - Fatal编程技术网

Swift 在NSTask中使用open命令

Swift 在NSTask中使用open命令,swift,nstask,Swift,Nstask,我对Swift中的NSTask有相当基本的了解,可以在我的程序中运行一些命令,但当我运行open时,它会说文件不存在。我添加了我在终端中使用的确切参数,我不知道我缺少了什么。代码如下: task.launchPath = "/usr/bin/open" task.arguments = ["/Volumes/STS*/here.docx"] task.launch() task.waitUntilExit() 提前谢谢。这是我的第一个问题,如果它很愚蠢,请发发慈悲。NSTask不会扩展路径中的

我对Swift中的NSTask有相当基本的了解,可以在我的程序中运行一些命令,但当我运行open时,它会说文件不存在。我添加了我在终端中使用的确切参数,我不知道我缺少了什么。代码如下:

task.launchPath = "/usr/bin/open"
task.arguments = ["/Volumes/STS*/here.docx"]
task.launch()
task.waitUntilExit()

提前谢谢。这是我的第一个问题,如果它很愚蠢,请发发慈悲。

NSTask
不会扩展路径中的
*
。但是如果您通过shell调用该命令(即
/bin/bash
),它将:

let task = NSTask()
task.launchPath = "/bin/bash"
task.arguments = ["-c", "open /Volumes/STS*/here.docx"]
task.launch()
task.waitUntilExit()

-c
选项告诉Bash从字符串中读取命令。您可以查看手册页了解更多信息。

NSTask没有通配符扩展。谢谢,这解释了很多。@MartinR,您对如何解决这个问题有什么建议吗?