Objective C (Cocoa フレームワーク) からコマンドを実行したい。私が試しているコマンドは以下の通りです。NSTask を試してみましたが、実行すると「起動パスにアクセスできません」と表示されます。
sudo ifconfig en0 down
私のコードは次のとおりです。
- (void)testme {
NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath: @"sudo ifconfig en0 down"];
NSArray *arguments;
arguments = [NSArray arrayWithObjects: @"foo", @"bar.txt", nil];
[task setArguments: arguments];
NSPipe *pipe;
pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
NSFileHandle *file;
file = [pipe fileHandleForReading];
[task launch];
NSData *data;
data = [file readDataToEndOfFile];
NSString *string;
string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog (@"command returned:\n%@", string);
[string release];
[task release];
}