如何从Swift执行外部程序?

Dmy*_*kin 10 objective-c swift

我是Swift的新手,我没有找到任何关于使用Swing语言执行外部程序或访问外部进程的信息.

是否可以在语言开发的当前阶段进行,或者我应该使用Objective-C?

也许有一些Objective-C库可以在我的Swift程序中使用?

谢谢.

Rob*_*ier 13

您可以使用运行外部程序NSTask.例如,来自Circle和Square:

import Foundation

func executeCommand(command: String, args: [String]) -> String {

    let task = NSTask()

    task.launchPath = command
    task.arguments = args

    let pipe = NSPipe()
    task.standardOutput = pipe
    task.launch()

    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    let output: String = NSString(data: data, encoding: NSUTF8StringEncoding)

    return output        
}

let commandOutput = executeCommand("/bin/echo", ["Hello, I am here!"])
println("Command output: \(commandOutput)")
Run Code Online (Sandbox Code Playgroud)

  • @Raphael 无法在 iOS 上运行外部任务。 (2认同)