OSX从shell返回到Xcode swift
我有调用shell的代码。Shell对参数进行一些测试,如果通过,它将运行。 现在,我将任何错误发布到日志文件中,但希望将它们返回到我的swift程序中OSX从shell返回到Xcode swift,xcode,macos,shell,swift,Xcode,Macos,Shell,Swift,我有调用shell的代码。Shell对参数进行一些测试,如果通过,它将运行。 现在,我将任何错误发布到日志文件中,但希望将它们返回到我的swift程序中 let bundle = NSBundle.mainBundle() let cmd = bundle.pathForResource("model", ofType: "sh") let task = NSTask() task.launchPath = cmd task.arguments = [ "
let bundle = NSBundle.mainBundle()
let cmd = bundle.pathForResource("model", ofType: "sh")
let task = NSTask()
task.launchPath = cmd
task.arguments = [ "\(arg1.stringValue)", "\(arg2.stringValue)" ]
task.launch()
这是可行的,但是如果不读取在shell中创建的日志文件,如何获得shell的输出呢。希望能有帮助 在github发布的项目也可能有用:
遇到了这个问题。希望能有帮助 在github发布的项目也可能有用:
遇到了这个问题。希望能有帮助 在github发布的项目也可能有用:
遇到了这个问题。希望能有帮助 在github发布的项目也可能有用:
#!/usr/bin/env xcrun swift -i
import Foundation
let task = NSTask()
task.launchPath = "/bin/echo"
task.arguments = ["first-argument", "second-argument"]
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output: String = NSString(data: data, encoding: NSUTF8StringEncoding)
print(output)
assert(output == "first-argument second-argument\n")