【问题标题】:Error when using command line to run formatting USB drive in objective-c使用命令行在objective-c中运行格式化USB驱动器时出错
【发布时间】:2013-04-30 09:26:15
【问题描述】:

全部。我是新的 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/"

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

谢谢!

【问题讨论】:

    标签: objective-c macos cocoa command-line command-line-arguments


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      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];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-27
        • 1970-01-01
        • 1970-01-01
        • 2013-02-08
        • 2022-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多