0
在Objective-C,我可以做到以下幾點:如何從Xcode執行shell命令時將參數傳遞給參數?
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中,那麼shell會認爲它們是「open」的參數。如果我將它添加到字符串中,緊跟在foobarbinary之後(例如:@「foo/foobar.app/foobarbinary -someargument」),那麼「open」假定文件的名稱是「foo/foobar.app/foobarbinary - someargument」。
那麼如何將參數傳遞給參數? :S
編輯。我試着在數組中使用--args命令。但似乎foobarbinary沒有收到我在--args旁邊指定的參數。 :S任何人都有我可以看的例子嗎?
它的作品謝謝!我沒有想到你可以直接調用這個二進制文件。 :S必須等待兩分鐘才能接受答案。 :) – 2012-03-22 14:12:42