Я хочу контролировать виртуальный COM-порт (Arduino RFID) на моем Mac. Я могу запустить «screen /dev/tty.serialnumber» с терминала, и он выводит серийный номер RFID, когда я прокручиваю его.
Как только я пробую это из Xcode с NSTask, я получаю следующий вывод.
Должен быть подключен к терминалу.
Вот мой код:
NSTask *cd = [[NSTask alloc] init];
[cd setLaunchPath:@"/usr/bin/screen"];
[cd setArguments:[NSArray arrayWithObjects:@"-L",@"/dev/tty.usbserial-A800509K",nil]];
NSPipe *pipe;
pipe = [NSPipe pipe];
[cd setStandardOutput: pipe];
[cd setStandardInput:[NSPipe pipe]];
NSFileHandle *file;
file = [pipe fileHandleForReading];
[cd launch];
NSData *data;
data = [file readDataToEndOfFile];
NSString *string;
string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog (@"%@", string);
[cd waitUntilExit];
[cd release];
screen(1)
говорит вам, что его можно запустить только из терминала. Вы не можете использовать другую программу или напрямую читать /dev/tty? См. этот вопрос: stackoverflow.com/questions/2504714/ - person   schedule 11.05.2011