Cocoa 与NSTask一起使用时,来自LESS的奇怪输出
我试图在NSTask中使用更少的代码。它基本上可以工作,但输出有时非常奇怪。例如:Cocoa 与NSTask一起使用时,来自LESS的奇怪输出,cocoa,less,nstask,Cocoa,Less,Nstask,我试图在NSTask中使用更少的代码。它基本上可以工作,但输出有时非常奇怪。例如: [31mParseError: Unrecognised input[39m[31m in [39m/Volumes/Macintosh HD/Users/x/Sites/y/css/style.less[90m on line 4, column 2:[39m [90m3 background-color: purple;[39m 4 [7m[31m[1md[22md[39m[27m [90m5 }[3
[31mParseError: Unrecognised input[39m[31m in [39m/Volumes/Macintosh HD/Users/x/Sites/y/css/style.less[90m on line 4, column 2:[39m
[90m3 background-color: purple;[39m
4 [7m[31m[1md[22md[39m[27m
[90m5 }[39m[0m[0m
这个[31m
等从何而来
我的相关代码是:
NSTask *task = [[NSTask alloc] init];
task.launchPath = [bundle.resourcePath stringByAppendingPathComponent:@"less.js/bin/lessc"];
task.arguments = @[path,cssPath];
NSPipe *outputPipe = [NSPipe pipe];
[task setStandardError:outputPipe];
[task setTerminationHandler:^(NSTask *task) {
NSString *s = [[NSString alloc] initWithData: [[outputPipe fileHandleForReading] readDataToEndOfFile] encoding:NSUTF8StringEncoding];
if(s.length > 0){
[[NSAlert alertWithMessageText:@"LESS Compilation" defaultButton:@"OK" alternateButton:nil otherButton:nil informativeTextWithFormat:@"%@",s] runModal];
}
}];
[task launch];
编辑:我认为这与命令行中的颜色有关,不是吗?所以我的问题是:避免它们的最佳方法是什么?这些是ANSI颜色代码。您可能想看看是否有任务参数不会返回颜色编码的文本。非常感谢。在我的case,使用更少的资源,选项
--no color
解决了这个问题