Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSTask获取命令的输出_Objective C_Macos_Cocoa - Fatal编程技术网

Objective c NSTask获取命令的输出

Objective c NSTask获取命令的输出,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我正在尝试从另一个应用程序的OSX上运行一个可执行文件 NSPipe *pipe = [NSPipe pipe]; NSTask *task = [[NSTask alloc] init]; task.arguments = @[@"param1", @"param2", @"param3", @"param4"]; task.launchPath = @"/usr/bin/myApp"; [task setStandardOutput: pipe]; [task launch]; [task

我正在尝试从另一个应用程序的
OSX
上运行一个可执行文件

NSPipe *pipe = [NSPipe pipe];

NSTask *task = [[NSTask alloc] init];
task.arguments = @[@"param1", @"param2", @"param3", @"param4"];
task.launchPath = @"/usr/bin/myApp";
[task setStandardOutput: pipe];
[task launch];
[task waitUntilExit];

NSFileHandle *file = [pipe fileHandleForReading];
NSData *output = [file readDataToEndOfFile];
NSString *outputString = [[NSString alloc] initWithData:output encoding:NSUTF8StringEncoding];
[file closeFile];
NSLog(@"%@",outputString);`
但结果却一文不值。不过,我确信
NSTask
正在得到执行。我想我的
NSPipe
有问题。但我仍然没有看到预期的产出


谢谢。

您的任务产生了多少输出?如果有很多,您需要处理它的输出管道被填满的事实。这很可笑——多年来,我对苹果公司一直有一个公开的bug——但它确实存在。你的任务产生了多少产出?如果有很多,您需要处理它的输出管道被填满的事实。这是荒谬的——多年来,我一直对苹果有一个公开的bug——但它确实存在。