我想在我的 Mac 上监控一个虚拟 COM 端口(Arduino RFID )。我可以从终端运行“screen /dev/tty.serialnumber”,当我刷它时它会输出 RFID 序列号。
一旦我使用 NSTask 从Xcode尝试它,我就会得到以下输出。
必须连接到终端。
这是我的代码:
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];