2

全部。我是新的 mac 开发人员。我想在objective-c中使用命令行格式化USB驱动器。这是一些代码,当我运行它时它会给我错误。

 NSTask *task = [NSTask new];
[task setLaunchPath:@"/usr/bin/env"];
[task setArguments:[NSArray arrayWithObjects:@"diskutil", @"eraseVolume",@"MS-DOS",@"PK", @"\"/Volumes/PK/\"", nil]];
....

这是错误:

dyld: DYLD_ environment variables being ignored because main executable (/usr/sbin/diskutil) has __RESTRICT/__restrict section
Unable to find disk for "/Volumes/PK/"

但是当我在终端中输入这一行时,它工作正常。我不知道。

谢谢!

4

2 回答 2

1

我想通了。问题是路径。我应该摆脱“”

于 2013-05-06T15:43:07.467 回答
1

检查此代码。它工作正常。

NSTask *task = [NSTask new];
[task setLaunchPath:@"/usr/bin/env"];
[task setArguments:[NSArray arrayWithObjects:@"diskutil", @"eraseVolume", @"exfat", @"name of pd", @"path of pd",nil]];

NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput:pipe];
[task launch];
[task waitUntilExit];
于 2014-04-18T10:34:34.913 回答