我正在使用here中描述的解决方案从我的Swift应用程序中调用命令行工具,但总是会收到我作为参数提供的文件的错误。 如果我只是将完整的调用字符串复制到终端,它运行得很好。
我的第一个想法是它可能与文件路径中的空格有关,但这并不重要。由于响应来自工具本身,而不是来自shell,因此呼叫似乎一般都可以。我用作参数的路径来自从finder拖入应用程序的文件。
来自Swift的电话:
self.shell("/Applications/AtomicParsley","'\(FileURLLabel.stringValue)'","--artwork REMOVE_ALL --overWrite")
控制台中的响应:
AP error trying to fopen '/Users/Tom/Downloads/Test file.m4v': No such file or directory
AtomicParsley error: can't open '/Users/Tom/Downloads/Test file.m4v' for reading: No such file or directory
答案 0 :(得分:0)
谢谢,pbodsk,使用path
的{{1}}是解决方案。此外,在调用shell时,我不得不使用字符串常量而不仅仅是其他参数的文字。非常感谢!