Objective-Cで記述された "PseudoTTY"と呼ばれるオープンソースのXcodeプロジェクトがあり、プログラムでコマンドを実行する方法を見つけようとしています。私がアプリケーションをコンパイルするとき、私はちょうど私がしたいことをする素敵な小さなターミナルウィンドウを取得します。コマンドを手動で入力する必要があることを除いて。プログラムでプログラムを実行するPseudoTTY
私がしたいことは、プログラムで端末でコマンドを実行し、プログラムで結果を解析できるようにすることです。関心の
スポットは以下のとおりです。
- (void)keyDown:(NSEvent *)event
{
const char * typein = [[event characters] UTF8String];
[[pty_ masterFileHandle]
writeData:[NSData dataWithBytes:typein length:strlen(typein)]];
}
と
-(void) didRead: (NSNotification *)noty
{
NSData * data = [[noty userInfo] objectForKey:NSFileHandleNotificationDataItem];
if ([data length] == 0)
return; // end of file
NSString * str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
[self insertText:str];
お困りですか? –
@Carl質問を更新しました。質問を追加しました。 – alexy13