2012-03-22 12 views
0

私は次の操作を行うことができますObjective-Cで:Xcodeからシェルコマンドを実行する際に引数に引数を渡す方法は?

NSTask* foo = [NSTask alloc]init]; 
[foo setLaunchPath:@"/usr/bin/open"]; 

[foo setArguments:[NSArray arrayWithObjects: 
           @"/foo/foobar.app/foobarbinary, 
           nil]]; 
// Arguments to the command: the name of the 
// Applications directory 

[foo launch]; 
// Run the command 

[foo release]; 

問題はfoobarbinaryは、コマンドライン引数を受け入れる場合、どのように私はそれらを渡すか、ですか? :) NSArrayにそれらを追加すると、シェルはそれらが "open"の引数であるとみなします。 foob​​arbinaryの直後に文字列を追加すると(例:@ "foo/foobar.app/foobarbinary -someargument")、 "open"はファイル名が "foo/foobar.app/foobarbinary - someargument "です。

どのように引数に引数を渡すのですか? :S

EDIT。私は配列の中で--argsコマンドを使ってみました。しかし、それはfoobarbinaryが私が指定した引数を受け取っていないようです。 :S誰かが私が見ることができる例がありますか?

答えて

1

openコマンドではこれを行えません。 foob​​arbinaryに引数を渡したい場合は、それを直接起動する必要があります。

+0

ありがとうございます!私はあなたがそのようなバイナリを直接呼び出すことはできませんでした。 :S答えを受け入れるまで2分待たなければなりません。 :) –

関連する問題