目标c:如何知道使用NSTask格式化USB驱动器的进度
问题描述:
我使用NSTask来执行格式化USB驱动器从NTFS到FAT32。它运行良好,但我想知道开始格式化时的进度。目标c:如何知道使用NSTask格式化USB驱动器的进度
这里是我的代码:
NSTask *task = [NSTask new];
[task setLaunchPath:@"/usr/bin/env"];
[task setArguments:[NSArray arrayWithObjects:@"diskutil", @"eraseVolume", @"MS-DOS" ,name ,path,nil]];
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput:pipe];
[task launch];
[task waitUntilExit];
如何添加进度跟踪的格式(如完成百分比...)谢谢!
答
您用NSTask包装的任务需要先提供一些进度更新。 从那里,你可以观看stderr和stdout。如果有更新,可以解释并向主线程发布通知。 使用该通知进行任何GUI更新。
当您在命令行上运行它时,会发生diskutil打印进度消息吗?如果是这样,那么你需要的信息将在你的管道对象中。 – 2013-05-13 04:42:04