2013-05-13 59 views
1

我使用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]; 

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

+1

当您在命令行上运行它时,会发生diskutil打印进度消息吗?如果是这样,那么你需要的信息将在你的管道对象中。 – 2013-05-13 04:42:04

回答

2

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

相关问题