【发布时间】:2017-07-13 05:09:54
【问题描述】:
我是开发 mac 应用程序的新手。 (但我为 ios 做了很多工作)
首先我想要一个窗口,上面有一个按钮。当用户单击该按钮时,它应该触发一个操作,该操作将在用户之前在应用程序中拖放的文件夹内运行一些 shell 命令。
例如 用户将在我的应用程序中拖放一些文件夹,应用程序应在此文件夹中创建 gemfile。
这是我运行 shell 的当前版本,第一个命令是 cd <pathToFolder>,但输出是 /usr/bin/cd: line 4: cd: file:///Users/klemen/Downloads/ABCAcura/: No such file or directory
这是我的代码:
@IBAction func handleCreateGemfileButton(_ sender: NSButton) {
let pipe = Pipe()
let process = Process()
process.launchPath = "/bin/bash"
process.arguments = ["cd", projectURL.absoluteString]
process.standardOutput = pipe
let file = pipe.fileHandleForReading
process.launch()
if let result = NSString(data: file.readDataToEndOfFile(), encoding: String.Encoding.utf8.rawValue) {
print(result as String)
}
else {
print("error")
}
}
是否有一些限制。如何向用户请求我的应用可以访问他的某些文件?
【问题讨论】:
-
是
<pathToFolder>~/Downloads/ABCAcura/还是一个论点? -
file:///Users/klemen/Downloads/ABCAcura/ 好的,我明白了,这可能是前缀错误的问题。
标签: swift xcode macos shell cocoa