2013-05-13 58 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更新。

相關問題