我在xcode中使用NSTask来尝试查找计算机正在使用的节点js的版本。这是我的代码:
NSString *runCommand(NSString *commandToRun)
{
NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath: @"/bin/bash"];
NSArray *arguments = [NSArray arrayWithObjects:
@"-c" ,
[NSString stringWithFormat:@"%@", commandToRun],
nil];
NSLog(@"run command: %@",commandToRun);
[task setArguments: arguments];
NSPipe *pipe;
pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
NSFileHandle *file;
file = [pipe fileHandleForReading];
[task launch];
NSData *data;
data = [file readDataToEndOfFile];
NSString *output;
output = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog(@"output %@",output);
return output;
}
- (IBAction)start_sapbot:(id)sender {
NSString *node = @"node --version";
NSString *git = @"git --version";
NSString *nodeCheck = runCommand(node);
}
所以我的计算机上已有节点(我甚至进入了bin / bash并尝试了node --version并显示了一个版本)。
但是当我在xcode上运行时,我得到/ bin / bash:node:command not found
只是想知道如何解决这个问题