Цель-C: NSCommand & ld, quo; airport -s ”возвращается пустым

Я пытаюсь запустить команду аэропорта для сканирования моих беспроводных сетей. Прямо сейчас подход заключается в использовании NSTask. Я запускаю его следующим образом:

NSString *command = [NSString stringWithFormat:@"/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s"];
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/sh"];
NSArray *args = [NSArray arrayWithObjects:@"-c", command, nil];
[task setArguments: args];
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
[task launch];
[task waitUntilExit];
NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile];
NSString *string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog(@"RESULT: %@", string);

Проблема состоит в том, что его вывод происходит как «RESULT:» (пустой вывод). Кроме того, когда я запускаю ту же команду с опцией «-I», она правильно отображает мои текущие сетевые состояния. Итак, я полагаю, что я ошибаюсь в том, как правильно прочитать вывод команды airport с опцией -s. Может кто-нибудь дать подсказку, как правильно его прочитать?

Ответы на вопрос(1)

Ваш ответ на вопрос