2009-08-19 123 views
2

你們知道如何從你的GUI應用程序運行終端命令嗎?我需要爲我的應用編碼。例如,如果我在終端輸入「netstat」,它會給我所有的端口。我想從我的Xcode應用程序。那可能嗎? BTW它不只是在「netstat的」命令,它可能是「命令......」從GUI應用程序運行終端命令?

感謝, 凱文

回答

3

下面是我剛剛在使用NSTask的應用程序中刪除的代碼。

NSTask* task = [[[NSTask alloc] init] autorelease]; 
[task setLaunchPath: @"/usr/bin/java"]; 

NSArray* args = [NSArray arrayWithObjects: @"-jar", jar, @"--cue", inp, @"--dir", dir, mp3, nil]; 
[task setArguments: args]; 

taskOutputFile = [[self createTmpFile] retain]; 
NSFileHandle* taskOutput = [NSFileHandle fileHandleForWritingAtPath:taskOutputFile]; 

[task setStandardOutput: taskOutput]; 
[task launch]; 

這在臨時文件啓動一個應用程序(JAVA),並記錄輸出

1

如果你願意下降到C,你可以只使用system()功能。當然,這會打印命令的結果。如果你想存儲命令的結果,你可能會想要使用管道。

1

看看NSTask,看看更像可可這樣做的方式。