2017-02-22 93 views
0

我新開發的mac應用程序。 (但我爲ios工作很多)如何在mac os x應用程序中通過shell命令訪問文件?

首先,我想要一個窗口,其中有一個按鈕。當用戶點擊按鈕時,它應該觸發一個動作,該動作將在用戶拖拽應用程序之前拖拽應用程序的文件夾內運行一些shell命令。

例如 用戶將拖放我的應用程序中的一些文件夾,應用程序應該創建該文件夾內的gemfile。

這是我目前的版本,我跑的外殼和第一個命令是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") 
    } 
} 

是有一些限制。如何從用戶請求我的應用程序可以訪問他的一些文件?

+0

''〜/ Downloads/ABCAcura /'還是它的一個參數嗎? – paper1111

+0

file:/// Users/klemen/Downloads/ABCAcura/OK,我知道,這可能是前綴錯誤的問題。 –

回答

1

您應該使用~/Downloads/ABCAcura而不是file:///...,file:///是協議(URL)而不是文件路徑。

相關問題