通常在終端中,我會執行此命令與串行USB設備進行通信。NsTask執行終端命令的問題
回聲-e「\ XFF \ X01 \ X01」> /dev/cu.usbserial-A8003YzT
我試圖使用NStask可可應用程序中做到這一點,但我沒有得到愛因爲某些原因。
繼承人我的代碼:
- (IBAction) doCommand:(id)sender{
{
NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/echo"];
[task setArguments:
[NSArray arrayWithObjects:@"-e '\\xFF\\x01\\x01' > /dev/cu.usbserial-A8003YzT", nil]];
[task launch];
[task release];
}}
我知道代碼基本上是工作,因爲我用同樣的腳本執行的其他終端命令.....不知道爲什麼我不能得到迴音開火....也許我錯過了簡單的東西?
感謝所有幫助
+1「或者。 ..「根據我的經驗,需要啓動shell的NSTasks是一個**糟糕的想法。首先,他們打破了NSLog的其餘程序執行。 – Richard 2011-05-16 15:32:51
@Sherm ....是的,照顧了這個問題。現在工作。我確信我不瞭解正確運行命令的正確功能。謝謝你清理那個。我對Obj-c相當陌生,所以我會給NSFileHandle一看。聽起來這是一個更好的方法,只是不知道現在怎麼樣.... @理查德,謝謝你的提高,我讀過同樣的東西,並將NSfilehandle看作一個更好的選擇謝謝大家! – butteryak 2011-05-16 16:36:37