我想从应用程序执行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怎么办?
答案 0 :(得分:6)
删除@"load "
中的尾随空格。
数组中的每个对象都是该任务的单个参数。没有必要 添加空格来分隔参数(或引用参数)。