目标c:如何知道使用NSTask格式化USB驱动器的进度

时间:2013-05-13 03:20:55

标签: objective-c macos cocoa nstask

我使用NSTask执行从NTFS到FAT32的格式化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];

如何添加进度来跟踪格式。(比如完成的百分比......)谢谢!!

1 个答案:

答案 0 :(得分:2)

使用NSTask包装的任务需要首先提供一些进度更新。 从那里,你可以看到stderr和stdout。如果有更新,您可以解释它并向主线程发布通知。 使用该通知进行任何GUI更新。