0

私はプロジェクトに取り組んでおり、xcode で端末コマンドを送信してポップアップに結果を表示する方法を知りたいと思っています。system(); は使いたくない。ターミナルを開くので、メソッド。NSTasks を使用できることは知っていますが、使用方法がわかりません。みんなありがとう!(ところで、これはiosではなくmacosx用です)

4

1 に答える 1

1

シェル コマンドの出力を取得するには、パイプを開いてそこからデータを読み取る必要があります。このタスクに使用するものは次のとおりです。

static NSString *outputForShellCommand(NSString *command) {
    FILE *fp;
    char data[1024];

    NSMutableString *finalRet = [[NSMutableString alloc] init];
    fp = popen([command UTF8String], "r");

    if (fp == NULL) {
        [finalRet release];
        return nil;
    }
    while (fgets(data, 1024, fp) != NULL) {
        [finalRet appendString:[NSString stringWithUTF8String:data]];
    }
    if (pclose(fp) != 0) {
        [finalRet release];
        return nil;
    }

    return [NSString stringWithString:finalRet];
}

また、この質問は 以前に 度も 出されていることに注意してください。

于 2012-11-12T06:07:48.250 に答える