2013-04-17 31 views
2

我想從應用程序執行launchctl從NSTask使用launchctl

對於我使用下面的代碼,

NSTask *task; 
task = [[NSTask alloc] init]; 
[task setLaunchPath: @"/bin/launchctl"]; 

NSArray *arguments; 
arguments = [NSArray arrayWithObjects: @"load ", @"/Users/XYZ/com.XYZ.plist", nil]; 
[task setArguments: arguments]; 

[task launch]; 

它給我的錯誤,launchctl: unknown subcommand "load "

然而,當我從終端運行命令,它執行正確

>launchctl load /Users/XYZ/com.XYZ.plist 

請告訴我這裏有什麼不同,它如何工作NSTask?

回答

5

刪除@"load "中的尾部空格。

數組中的每個對象都是該任務的單個參數。不需要 添加空格來分隔參數(或引用參數)。

+0

OMG !!!!謝謝。 :D – MacGeek

+0

@MacGeek:不客氣。 –

+1

我覺得自殺很少。 :d – MacGeek