Ich bin eine komplette schnelle noob. Mit diesem Code in xcode bekomme ich das Ergebnis, das ich brauche. Ich habe eine Kommandozeilen-Binärdatei "menubar" erstellt, die mehrere Argumente benötigt. Ich führe es normalerweise im Terminal "/ bin/menubar getip", "/ bin/menubar/getuser". Ich möchte eine Funktion basierend auf dem folgenden Arbeitscode erstellen.Swift NStask Funktion
import Cocoa
import Foundation
var task:NSTask = NSTask()
var pipe:NSPipe = NSPipe()
task.launchPath = "/bin/menubar"
task.arguments = ["getip"]
task.standardOutput = pipe
task.launch()
var handle = pipe.fileHandleForReading
var data = handle.readDataToEndOfFile()
var result_s = NSString(data: data, encoding: NSUTF8StringEncoding)
print(result_s)
Ich möchte es in eine Funktion konvertieren.
func commmand (argument: String) -> String
{
let task:NSTask = NSTask()
let pipe:NSPipe = NSPipe()
task.launchPath = "/bin/menubar"
task.arguments = ["argument"]
task.standardOutput = pipe
task.launch()
let handle = pipe.fileHandleForReading
let data = handle.readDataToEndOfFile()
let result_s = NSString(data: data, encoding: NSUTF8StringEncoding)
return result_s
}
commmand getip
Soooo was das Problem? – Slayter
"Ich bekomme das Ergebnis, das ich brauche" Klingt gut. Was ist die Frage? – matt
Entschuldigung, ich habe es nicht klargestellt. Ich versuche, dies in eine wiederverwendbare Funktion umzuwandeln. So kann ich verschiedene Argumente weitergeben. – nyitguy