O problema aqui é que você não pode misturar e combinar Bash e Swift. Você já sabe como executar o script Swift na linha de comando, agora você precisa adicionar os métodos para executar comandos do Shell no Swift. Em resumo do blog PracticalSwift :
func shell(launchPath: String, arguments: [String]) -> String?
{
let task = Process()
task.launchPath = launchPath
task.arguments = arguments
let pipe = Pipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = String(data: data, encoding: String.Encoding.utf8)
return output
}
O código Swift a seguir será executado xcodebuild
com argumentos e, em seguida, produzirá o resultado.
shell("xcodebuild", ["-workspace", "myApp.xcworkspace"]);
Quanto à pesquisa do conteúdo do diretório (que é o que ls
faz no Bash), sugiro usar NSFileManager
e escanear o diretório diretamente no Swift, em vez da saída do Bash, o que pode ser difícil de analisar.