1

Xcode を使用して基本的な Mac OS アプリケーションを構築しようとしています。これにより、ユーザーは毎回コンピューターを再起動することなく、ドライブに詰まった CD を強制的に取り出すことができます。基本的に、「イジェクト」というラベルの付いたウィンドウを表示したいのですNSButtonが、応答しないときにドライブから CD を強制的にイジェクトするために、ターミナル コマンド「drutil トレイ イジェクト」を実行するボタンを探しています。私は Xcode の初心者で、これが初めての Mac アプリです。

ありがとうございました!:-)

4

1 に答える 1

0

を使用しNSTaskます。ドキュメントQuartz Composer CommandLineToolをご覧ください。

+ (void) executeShellCommandAsynchronously:(NSString*)command
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSTask *task = [[[NSTask alloc] init] autorelease];
    [task setLaunchPath: @"/bin/sh"]; //we are launching sh, it is wha will process command for us
    [task setStandardInput:[NSFileHandle fileHandleWithNullDevice]]; //stdin is directed to /dev/null
    NSArray *args = [NSArray arrayWithObjects:  @"-c", //-c tells sh to execute commands from the next argument
                     command, //sh will read and execute the commands in this string.
                     nil];
    [task setArguments: args];
    [task launch];
    [command release];
    [pool release];
    return;
}
于 2013-09-06T18:17:43.303 に答える